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

Azure Table срещу MongoDB на Azure

Съхранението на таблици е основна функция за съхранение на Windows Azure, проектирана да бъде мащабируема (100TB 200TB 500TB на акаунт), издръжлив (тройно репликиран в центъра за данни, по избор георепликиран в друг център за данни) и безсхемен (всеки ред може да съдържа всякакви свойства, които искате). Ред се намира чрез разделен ключ + ключ за ред, осигурявайки много бързо търсене. Целият достъп до хранилището на таблици се осъществява чрез добре дефиниран REST API, използваем през всеки език (със SDK, изградени върху REST API, които вече са налице за .NET, PHP, Java, Python &Ruby).

MongoDB е документно-ориентирана база данни. За да го стартирате в Azure, трябва да инсталирате MongoDB на уеб/работнически роли или виртуална машина, да го насочите към облачно устройство (като по този начин предоставите буква на устройството) или прикачен диск (за Windows/Linux виртуални машини), по желание да включите журналирането (което бих препоръчал) и по желание да дефинирате външна крайна точка за ваша употреба (или достъп до нея чрез виртуална мрежа). Между другото, Cloud Drive/прикаченият диск всъщност се съхранява в Azure Blob, което ви дава същата издръжливост и георепликация като Azure Tables.

Когато сравнявате двете, не забравяйте, че Storage за таблици е Storage-as-a-Service:вие просто имате достъп до добре позната крайна точка REST. С MongoDB вие сте отговорни за поддържането на базата данни (например всеки път, когато MongoDB Inc (бивш 10gen) изтласка нова версия на MongoDB, ще трябва да актуализирате съответно сървъра си).

Относно алфа версията на MongoDB Inc, посочена от jtoberon:Ако я погледнете отблизо, ще видите няколко ключови неща:

  • Настройката е за самостоятелен екземпляр на mongodb, без набори от реплики или фрагменти. Що се отнася до наборите реплики, все още получавате няколко предимства, като използвате самостоятелната версия, поради начина, по който работи съхранението на Blob.
  • За да осигурите висока наличност, можете да стартирате с множество екземпляри. В този случай само един екземпляр обслужва базата данни и един е „топъл режим на готовност“, който стартира процеса mongod веднага щом другият екземпляр се провали (за рестартиране на поддръжка, повреда на хардуера и т.н.).

Докато обвивката на Windows Azure на 10gen все още се счита за „алфа“, mongod.exe не е така. Можете да стартирате mongod exe точно както бихте стартирали всеки друг Windows exe. Това е просто кодът за управление около стартирането и това е, което демонстрира реализацията на alpa.

РЕДАКТИРАНЕ 2011-12-8:Това вече не е в алфа състояние. Можете да изтеглите най-новия проект MongoDB+Windows Azure тук, който осигурява поддръжка за набор от реплики.

За производителност мисля, че ще трябва да направите сравнителен анализ. Като каза това, помислете за следното:

  • Когато осъществявате достъп до Storage за таблици или MongoDB от, да речем, уеб роля, вие все още достигате до системата за съхранение на Windows Azure.
  • MongoDB използва много памет за собствения си кеш. Поради тази причина много високомащабни системи MongoDB се разгръщат в по-големи размери на инстанция. За достъп до хранилище на таблици няма да имате същото съображение за размера на паметта.

РЕДАКТИРАНЕ на 7 април 2015 г. Ако искате да използвате базирана на документи база данни като услуга, Azure вече предлага DocumentDB.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB Node findone как да се справя без резултати?

  2. Защо се препоръчва да не затваряте MongoDB връзка никъде в кода на Node.js?

  3. Проверка на уникалността на вграден документ с обхват от неговия родител в mongoose

  4. Експортиране на модул за база данни mongoose

  5. Подобрете структурата на агрегиране на MongoDB