MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Графични DBs срещу Документ DBs срещу Triplestores

Не съм сигурен, че бих се съгласил с мнението, че много хора не харесват SPARQL. SPARQL 1.0 имаше някои недостатъци, но доста добре се справи с това, за което беше проектиран, а новата итерация, SPARQL 1.1, се основава на добавянето на много конструкции от SQL, които хората очакваха да видят в оригиналната спецификация, включително подзаявки, агрегати и актуализиране на семантиката. Мисля, че фактът, че е стандартен и можете да очаквате да видите същия анализ и семантика във всеки троен магазин, за разлика от диалектите на SQL, е приятна функция.

Бих твърдял също, че всички тройни магазини са графични бази данни; можете да поставите свойства на определени ръбове в RDF, макар и не толкова добре, колкото можете с Neo4j. Но тройните магазини имат предимството на истински език за заявки, стандартно представяне на данни w3c, което прави тривиално пренасянето на вашите данни в друго тройно хранилище, а за редица тройни магазина възможността за извършване на разсъждения въз основа на OWL.

Не знам нищо за мащабируемостта за повечето графични db, но като цяло търговските RDF бази данни се мащабират доста добре. Всички могат да се мащабират в милиарди тройки, което се справя с много случаи на употреба. Въпреки че начинът, по който те се справят с мащаба, се различава значително от доставчик до доставчик, за да увеличи или мащабира, клъстериране и т.н. Ще видите също доста различни изисквания за памет и хардуер, за да съответстват на реализациите за всеки. За мен съм склонен просто да отида и да взема екземпляр EC2, обикновено 2XL или 4XL, да монтирам достатъчно голям EBS, за да побере данните, и съм доста добре настроен.

Освен това някои тройни магазини се интегрират с Lucene или подобни технологии, за да предоставят обърнати индекси върху данните, а много от тях вече започват да включват гео-пространствени и времеви индекси. Това са много полезни функции, за които не съм сигурен дали са налични в нещо като Neo4j.

Като се има предвид това, те няма да се мащабират толкова добре, колкото релационните бази данни, просто не са толкова зрели. Но също така няма да се прецакате, когато имате „реални“ количества данни. Разбира се, едно от предимствата на тройните магазини е разсъждението, чието представяне в мащаб е трудно, но това е голяма част от причината, поради която са създадени различните профили на OWL. Но можете да се накарате в ъгъла, ако не мислите предварително.

Мисля, че графичните бази данни, по-специално тройните магазини, могат да бъдат доста добър мач за много приложения, които се изграждат, но не мисля, че това означава, че всичко трябва да се прави с тях. Както всичко друго, те са инструменти с техните добри и лоши страни, така че трябва да направите правилния избор въз основа на вашето приложение. Но те вероятно винаги заслужават поне внимание в наши дни.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. mongoDB префикс заместващ знак:пълнотекстово търсене ($text) намиране на част с низ за търсене

  2. Как да предотвратим връщане назад в MongoDB

  3. MongoDB - Пуснете колекция

  4. Mongod се оплаква, че няма папка /data/db

  5. Клониране на база данни в Mongodb между хостове с помощта на драйвер на възел