Документные базы и хранилища данных

В этом выпуске мы поговорили о документных хранилищах данных. Многие смешивают понятия реляционных баз данных и ACID (Atomicity, Consistency, Isolation, Durability) с одной стороны, и документные NoSQL базы и BASE (Basically Available, Soft state, Eventual consistency) с другой. Если разобраться, то ничто не мешает смешивать эти подходы.

Изначально, когда возникла необходимость хранить очень большие объемы данных на большом количестве серверов, да еще и в распределенных по миру датацентрах, документные базы были уделом больших технических корпораций типа Google. Сейчас, с течением времени, небольшие компании, пытающиеся заработать деньги в области решений для хранения данных, начали придумывать все новые способы занять нишевые сегменты.

Таким образом, нельзя сказать что сейчас между “реляционными” и “NoSQL” решениями лежит какая-то четкая грань. Больше того, сам Эрик Брюэр , человек который дал миру CAP теорему о распределенных системах, в одной из своих недавних статей очень хорошо объясняет что все дело не столько в CAP теореме как таковой, сколько в компромиссах, которые делают дизайнеры разных распределенных систем.

В качестве демонстрации, вот вам несколько примеров:

По большому счету, кроме перечисленного выше, опыт разных крупных компаний, например Facebook, Twitter и Amazon, показывает, что можно сделать из буханки хлеба троллейбус, и превращать одно решение в другое при достаточном количестве ресурсов.

Что до нас с вами, то все эти движения на рынке только на руку относительно небольшим компаниям, которые пытаются сделать дело самым подходящим инструментом. Мартин Фаулер в одной из своих статей называет это Polyglot Persistence. Скорее всего в ближайшем будущем выбор хранилища данных "под задачу” будет абсолютной нормой.

В самом конце также подняли интересный вопрос про построение CDN на базе Amazon S3 и набора кэшей по всему миру. В принципе идея не нова, и пример реализации можно найти, например, здесь.

Если вам интересно, что мы делаем в hangops.ru, и у вас есть предложения, как сделать его лучше, мы будем очень признательны за комментарии.

comments powered by Disqus