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

Jak bezpečný je bezpečný režim MongoDB na vložkách?

Nejlepším řešením je použít Write Concerns – ty vám umožní sdělit MongoDB, jak důležitá je část dat. Nejrychlejší Write Concern je také nejméně bezpečný – data nejsou vyprázdněna na disk až do dalšího plánovaného vyprázdnění. Nejbezpečnější potvrdí, že data byla zapsána na disk na řadě počítačů, než se vrátí.

Zájem o zápis, který hledáte, je FSYNC_SAFE (alespoň tak se tomu říká z pohledu ovladač Java ) nebo REPLICAS_SAFE, což potvrzuje, že vaše data byla replikována.

Mějte na paměti, že MongoDB nemá transakce v tradičním slova smyslu – vaše vrácení bude muset být vráceno ručně, protože nemůžete říci databázi Mongo, aby to udělala za vás.

Další věc, kterou musíte udělat, je buď použít relativně nový --journal možnost (která používá protokol Write Ahead Log), nebo použijte sady replik ke sdílení vašich dat na mnoha počítačích, abyste maximalizovali integritu dat v případě havárie nebo ztráty napájení.

Sdílení není ani tak ochrana proti selhání hardwaru jako způsob sdílení zátěže při práci s obzvláště velkými datovými sadami - sharding by neměl být zaměňován se sadami replik, což je způsob zápisu dat na více než jeden disk na více než jednom počítači .

Proto, pokud jsou vaše data dostatečně cenná, měli byste určitě používat sady replik, možná dokonce umísťovat slave v jiných datových centrech/zónách dostupnosti/rackech/atd, abyste zajistili požadovanou odolnost.

Existuje/bude existovat (nepamatuji si, zda to již bylo implementováno) způsob, jak specifikovat prioritu jednotlivých uzlů v sadě replik tak, že pokud hlavní uzly sestoupí, nový hlavní, který je zvolen, je jeden ve stejných datech. centrum, pokud je takový stroj k dispozici (tj. zabránit otrokovi na druhé straně země, aby se stal pánem, pokud to skutečně není jediná jiná možnost).



  1. docker:MISCONF Redis je nakonfigurován pro ukládání snímků RDB

  2. Nedaří se mi spustit meteor v cloudu, potřebujete pomoc s pochopením využití paměti meteorů

  3. Dotazování MongoDB, aby odpovídalo v první položce v poli

  4. Použijte mongoexport s --query pro ISODate