Какво е NoSQL? Следното разбиране на NoSQL и неговите предимства
В тази дискусия ще споделиммалко познания за разбирането и концепциите на базите данни NoSQL. Първо проучваме името първо какво е NoSQL, буквално е „не SQL“ или „нереактивен SQL“. Но понякога също така се нарича "не само SQL", което означава по-добро от SQL. Тъй като се твърди, че NoSQL има способността да надвишава конвенционалните базирани на таблици RDBMS бази данни (плосък).
За тези от вас, които сте учили или работили в полето програмиране на база данни разбира се, че сте запознати с концепцията на базата данниБазирани на RDBMS като MS Access, MS SQL Server, MySQL, MariaDB, PostgreSQL и SQLite. Концепцията RDBMS е базирана на таблица база данни, всяка от които се състои от взаимосвързани таблици (таблична връзка), особено в колоните Основен ключ (PK) и Външен ключ (FK).
NoSQL е различен от SQL, не се нуждае от схема и няма връзки към таблицата, така че е по-гъвкав. Базата данни NoSQL продължава да нараства в броя си на използване, особено в изпълнение големи данни и приложение мрежа в реално време, Популярността му продължава да нараства в началото на този хилядолетен век, предизвикана от нуждите на уеб 2.0 базирани компании и приложения борави.
Какво е NoSQL?
SQL е съкращение от Структуриран език на заявките, която е структурирана концепция за база данниот схеми, таблици, колони и редове. Извикване на синтаксис на заявки или данни в SQL бази данни, използващи връзки на медийните таблици. Няколко групи данни от различни таблици могат да се извикват едновременно.
Ако потребителят иска да покаже даннижелателно е, тогава може да се направи с конкретен дизайн на езика на заявките. Таблиците в SQL база данни са набор от твърди и неподвижни таблици. Следователно дори лека промяна в структурата на една таблица може да доведе до програмирани грешки в заявките в секциите View или Trigger. Ограниченията, които се сблъскват в базата данни на SQL, се състоят в сложност поддържане (поддръжка на системата) и разработване на мащаба на данните. Разбирането на концепцията за SQL предварително може да ви помогне да разберете какво е NoSQL.
Разбирането на NoSQL (Non SQL) е концепция, както и модел на база данниГъвкава. Като цяло и конкретно NoSQL не следва правилата за релационни бази данни (RDBMS). NoSQL също не използва езика за SQL заявки. NoSQL е различен модел на база данни в сравнение със SQL.
Терминът NoSQL беше публикуван за първи път отКарло Строци през 1998 г., за да назове базата данни, която той е разработвал по онова време, "ретро-базирана база данни с отворен код Strozzi NoSQL". Strozzi каза, че работата на NoSQL по това време е "много различна" от релационната база данни като цяло, това е причината той да я нарече "NoREL", което се отнася до термина "No Relational".
В началото на 2009 г. Йохан Оскарсон, един от разработчиците на Last.fm, въведе термина NoSQL, когато организира събитие за обсъждане "разпространени с отворен код, нерелационни бази данни"(Разпространява се като отворен код, нерелационна база данни).
Базата данни NoSQL е разработена като надежда зарешаване на класически проблеми на SQL бази данни. NoSQL базите данни се различават от SQL базите данни, където се използва само един тип метод за съхранение на данни. Структурата на базата данни NoSQL е по-динамична и гъвкава с четири (4) типа модели за съхранение на данни, както следва, заедно с примери и кратки дефиниции.
- Ключ-стойност (KV) магазин: ArangoDB, Apache Ignite, Oracle NoSQL база данни, Couchbase, Dynamo, Redis, Ripple.
KV съхранението използва асоциативен масив, известен също като карта или речник като основа за своя модел на данни. В този модел данните са представени като сдвоена колекция от KV. - Документ на базата на: Apache CouchDB, ArangoDB, BaseX, Clusterpoint, Couchbase, Cosmos DB, IBM Domino, MarkLogic, MongoDB, OrientDB, Qizx, RethinkDB.
Концепцията за съхраняване на данни на базата на документи еидея от концепцията за „документ“. Когато при всяка реализация на база данни на документи обикновено се приема, че документите са капсулирани (капсулирани) и кодирани в стандартен формат на кодиране. - Колона базирани: Акумуло, Касандра, Сцила, HBase.
Може да се нарече и модел с широка колона, възможноМного бърз достъп до данни чрез използване на ключ на реда, име на колоната и времена марка на клетката. Гъвкавостта на схемата от този тип база данни позволява записите в колоните (колоните) не трябва да са последователни. Потребителите могат да добавят колони в един конкретен ред, без да се налага да ги добавят към всеки запис. - Графика на базата на: AllegroGraph, ArangoDB, InfiniteGraph, Apache Giraph, MarkLogic, Neo4J, OrientDB, Virtuoso.
На теория, базирана на графиката структура се състои отвърхове и ръбове (данни и връзки), които могат да бъдат наречени връзки на данни. Графиките се държат по същия начин, както хората мислят, данните са подредени в специфични отношения между единици данни, които имат свои собствени характеристики. Този тип база данни е полезна за визуализиране, анализ и ви помага да намерите връзки между различни данни.
За повече подробности той може да бъде класифициран в десет (10) вида модели за съхранение на данни, а именно както следва, заедно с примери (въз основа на наблюденията на Стивън Йен).
- Кеш-стойност кеш: Apache Ignite, Coherence, eXtreme Scale, Hazelcast, Infinispan, Memcached, Velocity.
- Магазин ключ-стойност: ArangoDB, Aerospike.
- Ключ-стойност магазин (евентуално съвместим): Oracle NoSQL база данни, Dynamo, Riak, Voldemort.
- Магазин за ключови стойности (поръчани): FoundationDB, InfinityDB, LMDB, MemcacheDB.
- Сървър за структуриране на данни: Редис.
- Tuple Store: Река Apache, GigaSpaces.
- Обектна база данни: Обективност / DB, Perst, ZopeDB.
- Магазин за документи: ArangoDB, BaseX, Clusterpoint, Couchbase, CouchDB, DocumentDB, IBM Domino, MarkLogic, MongoDB, Qizx, RethinkDB, Elasticsearch.
- Магазин за широка колона: Amazon DynamoDB, Bigtable, Cassandra, Scylla, HBase, Hypertable.
- Родна мултимоделна база данни: ArangoDB, Cosmos DB, OrientDB, MarkLogic.
Какви са ползите от NoSQL? Каква е разликата със SQL?
Функцията на базата данни NoSQL е същата като функцията на базата данниSQL класически, но със собствени предимства и недостатъци. Подобно на RDBMS SQL като цяло, NoSQL е полезен за обработка на данни и съхраняване за повторна употреба или достъп както от сървъра, така и от клиента. Данните се съхраняват последователно, така че и сървърът, и клиентът да виждат едни и същи данни.
NoSQL се придържа към правилата на BASE, т.е. По принцип на разположение, меко състояние, и Евентуална последователност, Данните в него могат да се променят, дори ако не съществуватвход, това е като RDBMS с Trigger инсталиран автоматично. Следователно NoSQL е по-подходящ и подходящ за приложения, които изискват промени бързо (бързо), защото е по-динамичен и гъвкав.
Предимствата на базата данни NoSQL в сравнение със SQL
В някои случаи се счита, че NoSQL работи по-добре от базиран на релации SQL, включително следния.
- Когато трябва да съхранявате големи количества данни с непоследователна схема.
Схема на данни в NoSQL не фиксиран както при SQL, промените в структурата и схемите, които могат да се променят по всяко време, могат да се обработват лесно, без да се налага да променяте последователността на данните в самата база данни. - Когато имате нужда от изчисление и съхранение на данни базирана на облак.
Повечето бази данни NoSQL са създадени и проектирани да работят в център за данни различни и се изпълняват като системаразпределена. В този случай вие като NoSQL потребител ще имате полза, защото можете да се възползвате от достъпа до различни облачни базирани компютърни инфраструктури. - Когато станеш уеб разработчик или ап-разработчик и ти трябва това актуализация бързо (бързо).
С NoSQL няма нужда да подготвяте даннисякаш използвате RDBMS (SQL), можете дори да мигрирате структурирани данни от една версия на приложението към следващата актуализирана версия, всеки път, когато дизайнът на приложението се актуализира. Динамичният характер на NoSQL може да се развива заедно с променящите се приложения.
Липса на база данни на NoSQL в сравнение със SQL
В концепцията за база данни RDBMS има правила ACIDа именно четири (4) правила за транзакция на данни. ACID е съкращение от Атомен, постоянен, изолиран, и траен.
- атомен което означава, че всеки запис или ред са уникални данни, не могат да бъдат заменени с други данни.
- последователен, всеки ред данни е последователни данни, което означава, че данните ще останат последователни, след като бъдат изпълнени с определена операция. Сървърът и клиентът ще виждат едни и същи данни.
- изолира това означава, че всяка промяна в един запис е една независима транзакция, която няма нищо общо с другите записи на транзакции.
- траен, което означава, че след приключване на транзакцията, ефектите от промените в записа се съхраняват по стабилен и постоянен начин.
Това е причината RDBMS да се наричафиксирана база данни. NoSQL не изпълнява правилата на ACID, може да е последователен, но не може да бъде атомен, изолиран и издръжлив. NoSQL не е подходящ за приложения, които изискват фиксирани данни като записи на биоданни на служители, преброяване на населението, медицински записи, записи на пръстови отпечатъци и много други примери. Дано тази статия за разбирането на NoSQL е полезна и лесна за разбиране!