sql >> Databáze >  >> NoSQL >> MongoDB

Azure Table vs MongoDB v Azure

Table Storage je základní funkce úložiště Windows Azure navržená tak, aby byla škálovatelná (100 TB 200 TB 500 TB na účet), odolné (trojnásobně replikované v datovém centru, volitelně georeplikované do jiného datového centra) a bez schématu (každý řádek může obsahovat libovolné vlastnosti). Řádek je umístěn pomocí klávesy oddílu + klávesy řádku, což poskytuje velmi rychlé vyhledávání. Veškerý přístup k úložišti tabulky je přes dobře definované REST API použitelné v jakémkoli jazyce (se sadami SDK, postavenými na REST API, které jsou již zavedeny pro .NET, PHP, Java, Python a Ruby).

MongoDB je databáze orientovaná na dokumenty. Chcete-li jej spustit v Azure, musíte nainstalovat MongoDB do webové/pracovní role nebo virtuálního počítače, nasměrovat jej na cloudovou jednotku (a tím poskytnout písmeno jednotky) nebo připojený disk (pro virtuální stroje Windows/Linux), případně zapnout žurnálování. (což bych doporučil) a volitelně definovat externí koncový bod pro vaše použití (nebo k němu přistupovat přes virtuální síť). Cloudový disk / připojený disk je mimochodem ve skutečnosti uložen v Azure Blob, což vám poskytuje stejnou odolnost a georeplikaci jako Azure Tables.

Při porovnávání těchto dvou pamatujte, že Table Storage je Storage-as-a-Service:jednoduše přistupujete ke známému koncovému bodu REST. S MongoDB jste odpovědní za údržbu databáze (např. kdykoli MongoDB Inc (dříve 10gen) vydá novou verzi MongoDB, budete muset odpovídajícím způsobem aktualizovat svůj server).

Pokud jde o alfa verzi MongoDB Inc, na kterou poukázal jtoberon:Když se na ni podíváte zblízka, uvidíte několik klíčových věcí:

  • Nastavení je pro samostatnou instanci mongodb, bez sad replik nebo fragmentů. Pokud jde o sady replik, stále získáte několik výhod při použití samostatné verze díky způsobu, jakým funguje úložiště objektů Blob.
  • Chcete-li zajistit vysokou dostupnost, můžete spustit s více instancemi. V tomto případě databázi obsluhuje pouze jedna instance a jedna je „teplým pohotovostním režimem“, který spustí proces mongodu, jakmile druhá instance selže (při restartu údržby, selhání hardwaru atd.).

Zatímco obal Windows Azure od 10gen je stále považován za „alfa“, mongod.exe nikoli. Mongod exe můžete spustit stejně jako jakýkoli jiný Windows exe. Je to jen kód správy kolem spuštění a to je to, co implementace alpa demonstruje.

EDIT 2011-12-8:Toto již není ve stavu alfa. Zde si můžete stáhnout nejnovější projekt MongoDB+Windows Azure, který poskytuje podporu sady replik.

Pokud jde o výkon, myslím, že budete muset provést nějaké srovnání. Poté zvažte následující:

  • Při přístupu k úložišti Table Storage nebo MongoDB, řekněme, z webové role, stále oslovujete systém Windows Azure Storage.
  • MongoDB využívá spoustu paměti pro svou vlastní mezipaměť. Z tohoto důvodu je mnoho vysoce výkonných systémů MongoDB nasazeno do větších velikostí instancí. Pro přístup k úložišti tabulky nebudete mít stejnou velikost paměti.

UPRAVIT 7. dubna 2015 Pokud chcete používat databázi založenou na dokumentech jako službu, Azure teď nabízí DocumentDB.



  1. Mají databáze orientované na dokumenty nahradit relační databáze?

  2. Mongo DB najde všechny záznamy s nejvyšší hodnotou v závislosti na klíčovém poli

  3. Uvnitř architektury Santander's Near Real-Time Data Ingest Architecture

  4. GenericJackson2JsonRedisSerializer Ignorovat třídu a atribut