Направо към съдържанието

NoSQL

от Уикипедия, свободната енциклопедия
Версия от 16:43, 30 юли 2013 на Stefandim (беседа | приноси) (Нова страница: '''NoSQL(Нерелационната база данни)''' ви предоставя механизъм за съхранение и възстановяване н...)
(разл) ← По-стара версия | Текуща версия (разл) | По-нова версия → (разл)

NoSQL(Нерелационната база данни) ви предоставя механизъм за съхранение и възстановяване на данни, който използва свободен consistency models за разлика от по – често ползваната релационна база данни. Ползите на този подход включват изчистен дизайн, horizontal scaling и фин контрол върху наличността. Нерелационната база данни е най - често добре оптимизирани key – value stores предназначени за лесни възстановителни и добавящи действия, с цел да има значителни подобрения в производителността в условие на latency и throughput. Нерелационната база данни намира значима и нарастваща роля в real- time web и big data приложенията. Нерелационните системи са също така наричани „Not only SQL“ в превод „Не само база данни“ за да се подчертае, че те в действителност позволяват употребата на езици за търсене различни, но сходни на тези в SQL.

Нерелационната база данни има разпределена и устойчива на повреди архитектура, като обектите с информация се съхраняват на няколко сървъра. По този начин системата може да се предпази като добавя повече сървъри и тогава при повредата на сървър продължава да работи. Този тип база данни се разширява хоризонтално и се използва за управлението на голямо количество от данни, когато производителността (в реално време) е по – важна от последователността (както в индексирането на голям брой документи, обслужващите страници на натоварените сайтове и предоставянето на стримове).

ACID vs BASE. Нерелационната база данни не могат непременно да дадат пълна гаранция за ACID (Atomicity, Consistency, Isolation, Durability). Обикновено eventual consistency е гарантирано или транзакциите са ограничени до един обект с информация. Това означава, че ако се даде достатъчно дълъг период от време, по време на който не се пращат промени, може да се очаква всички обновления да се разпространят в системата.


История

За първи път терминът нерелационна база данни бива използван от Карло Строци през 1998г. за да наименува неговата лека релационна база данни с отворен код, която не излага стандартния SQL интерфейс.[1] Строци предлага, че поради отклоняването на NoSQL движението от рационалния модел, следователно би трябвало да бъде наименуван по – подходящо като „NoREL“.[2]

Ерик Еванс (по това време служител на Rackspace) отново използва терминът нерелационната база данни в началото на 2009г., когато Йоан Оскарсон от музикалния уебсайт Last.fm поисква от него да организира събитие относно разпределени бази от данни[3] с отворен код. Името използвано да постави етикет на наскоро появилите се и нарастващи по брой нерелационни, разпределени data stores (хранилище на данни на набор от интегрирани обекти), които не се опитват да гарантират ACID, който от своя страна е ключов атрибут на класическите релационни системи за управление на бази данни.[4]


Източници

  1. Lith, Adam и др. Investigating storage solutions for large data: A comparison of well performing and scalable data storage solutions for real time extraction and batch insertion of data (PDF) // Department of Computer Science and Engineering, Chalmers University of Technology, 2010. с. 70. Посетен на 12 May 2011. Carlo Strozzi first used the term NoSQL in 1998 as a name for his open source relational database that did not offer a SQL interface[...]
  2. NoSQL Relational Database Management System: Home Page // Strozzi.it, 2 October 2007. Посетен на 29 March 2010.
  3. NoSQL 2009 // Blog.sym-link.com, 12 May 2009. Посетен на 29 March 2010.
  4. Mike Chapple. The ACID Model