NewSQL (з англ. новий SQL) — клас сучасних реляційних СУБД, які прагнуть поєднати в собі переваги NoSQL і транзакційні вимоги класичних баз даних. Даний термін був запропонований в 2011 році Метью Аслетом, аналітиком 451 Group. Потреба в даних системах виникла в першу чергу у компаній, що працюють з критичними даними (наприклад, фінансового сектора), яким були потрібні масштабовані рішення, в той час як рішення NoSQL не могли надати транзакцій і не відповідали вимогам надійності даних.
Класифікація NewSQL
Класифікація заснована на різних підходах, прийнятих зберегти SQL інтерфейс, а також вирішити масштабованість і продуктивність, що є проблемами традиційних рішень OLTP.
Нові бази даних
Основна маса БД NewSQL є in-memory БД. Головною особливістю таких БД є те, що вони зберігають основну масу даних не на жорстких дисках, а в оперативній пам'яті. Розробники впевнені, що зберігання даних на HDD, є одним з основних недоліків існуючих БД, оскільки, найвищу швидкість обробки і отримання даних забезпечить переміщення їх в ОЗП. Недолік ОЗП на одному сервері, компенсується кластером таких серверів з великої кількості вузлів. Також в таких БД передбачено періодичне резервне копіювання даних на жорсткий диск, щоб запобігати можливим втратам при відмові сервера.
Отже, NewSQL система розробляється повністю з нуля з метою досягнення масштабованості та продуктивності. Одним з ключових факторів у підвищенні продуктивності є використання оперативної пам'яті або нових видів дисків (флеш-пам'ять / SSD), які є сховищем первинних даних. Дане рішення може здійснюватися програмно (VoltDB, NuoDB) або на рівні заліза (Clustrix, Translattice). Прикладами розробок є Clustrix, NuoDB і Translattice (комерційні) і VoltDB (Open Source).
Новий рушій бази даних MySQL
Щоб подолати проблеми масштабованості MySQL, було створено ряд рушіїв заснованих на MySQL. Позитивна сторона — використання інтерфейсу MySQL, але є погана сторона — не підтримуються міграція даних з інших баз даних (включаючи старий MySQL). Приклади реалізації — Xeround, GenieDB (комерційні); і Akiban, MySQL Група NDB і ін. (opensource).
Один з найпоширеніших — TokuDB. Він використовує індекси, розташовані на фрактальних деревах. Вони набагато швидші, ніж індекси на В-деревах, особливо при переповненні оперативної пам'яті, що викликає необхідність зчитувати їх з жорсткого диска.
Прозоре об'єднання в кластери
Мається на увазі застосовування кластерів SQL з декількох фізичних вузлів для зберігання і обробки великих обсягів даних. Хоч такий підхід і залишає БД OLTP в своєму первісному вигляді, але дозволять досягти масштабованості і горизонтального угруповання. Всі виробничі СУБД об'єднують в кластер. Він є середнім шаром (middleware), який перенаправляє запити до потрібних вузлів (де зберігаються дані), групує дані і видає єдиний результат. При такому підході, для запитів існують обмеження щодо використання зовнішніх ключів і джоінів.
Тобто, ці рішення зберігають бази даних OLTP в своєму оригінальному вигляді, але забезпечують особливість розширення, з прозорим угрупованням, та гарантують масштабованість. Інший підхід повинен забезпечити прозорий sharding, щоб також поліпшити масштабованість. БД Schooner MySQL, Continuent Tungsten і ScalArc слідують першому підходу, тоді як ScaleBase і dbShards слідують другому підходу. Обидва підходи дозволяють повторне використання існуючих наборів і екосистеми, і уникають потреби переписати код або виконати будь-які міграції даних. Приклади реалізацій — ScalArc, Schooner MySQL, dbShards (комерційний) ScaleBase; і Continuent Tungsten (opensource).
Технічні характеристики рішень NewSQL
- SQL як основний механізм для взаємодії.
- ACID підтримка транзакцій.
- Механізм управління без застосування блокувань, таким чином зчитувальні дані в реальному часі не знаходиться в протиріччі з записуючими, що виключає конфлікт.
- Архітектура, що забезпечує набагато вищу продуктивність вузла, ніж доступний з традиційних рішень RDBMS.
- Зручне масштабування, здатне керувати великою кількістю вузлів, і не переносити вузькі місця.
Архітектурний приклад
Розглянемо архітектурний приклад одного з NewSQL рішень (dbShards). Він представлений на малюнку 1.
Переваги і недоліки NewSQL
Розглянемо переваги і недоліки NewSQL
Переваги NewSQL
- Мінімальна складність додатків, а також повна транзакційна підтримка.
- Знайомий SQL і стандартні інструменти.
- Багато систем пропонують кластери типу NoSQL з більш традиційними моделями даних і запитів.
Недоліки NewSQL
- NewSQL не є універсальною, як традиційна система SQL.
- Обсяг пам'яті може перевищувати кілька терабайт.
- Пропонує тільки частковий доступ до багатьох інструментів традиційних SQL-систем.
Рішення
Існують різні підходи до вирішення завдання створення бази даних. Основними з яких є:
Принципово нова архітектура
Найбільш популярним підходом є створення принципово нових платформ для зберігання даних. Подібні рішення проектуються спочатку з розрахунком на розподілену архітектуру і багатопоточність. Прикладами даних систем є:
Нові механізми зберігання SQL
Даний тип рішень надає нові принципи зберігання даних, які масштабуються краще ніж, наприклад, InnoDB. Приклади подібних рішень:
- TokuDB
- і більш не розроблювальний InfiniDB
Прозоре масштабування
Дані системи додають новий середній шар, покликаний приховати розподілену суть збережених даних. Приклади:
Див. також
Примітки
- Aslett, Matthew (2011). (PDF) (англ) . 451 Group. Архів оригіналу (PDF) за 10 січня 2014.
- Stonebraker, Michael. (англ.). Communications of the ACM Blog. Архів оригіналу за 20 червня 2011.
- Hoff, Todd. (англ.). Архів оригіналу за 26 вересня 2012.
- Aslett, Matthew (2010). (англ.). 451 Group. Архів оригіналу за 5 вересня 2012.
- Lloyd, Alex. . Berlin Buzzwords. Архів оригіналу за 6 жовтня 2012.
- . Dataconomy. Архів оригіналу за 20 травня 2018.
- (англ.). SAP. Архів оригіналу за 26 липня 2014.
- Proctor, Seth (2013). (англ.). Архів оригіналу за 15 липня 2013.
- Proctor, Seth (2013). (англ.). Архів оригіналу за 27 квітня 2018.
- (англ.). 2014. Архів оригіналу за 6 травня 2022.
- (англ.). 2014. Архів оригіналу за 19 квітня 2018.
- . GitHub. Архів оригіналу за 9 травня 2018.
- Zhang, Jinpeng. . InfoWorld (англ.). Архів оригіналу за 14 лютого 2019. Процитовано 7 березня 2018.
- . Opensource.com (англ.). Архів оригіналу за 31 липня 2019. Процитовано 14 листопада 2018.
- Xu, Kevin. . InfoWorld (англ.). Архів оригіналу за 14 листопада 2018. Процитовано 14 листопада 2018.
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
NewSQL z angl novij SQL klas suchasnih relyacijnih SUBD yaki pragnut poyednati v sobi perevagi NoSQL i tranzakcijni vimogi klasichnih baz danih Danij termin buv zaproponovanij v 2011 roci Metyu Asletom analitikom 451 Group Potreba v danih sistemah vinikla v pershu chergu u kompanij sho pracyuyut z kritichnimi danimi napriklad finansovogo sektora yakim buli potribni masshtabovani rishennya v toj chas yak rishennya NoSQL ne mogli nadati tranzakcij i ne vidpovidali vimogam nadijnosti danih Klasifikaciya NewSQLKlasifikaciya zasnovana na riznih pidhodah prijnyatih zberegti SQL interfejs a takozh virishiti masshtabovanist i produktivnist sho ye problemami tradicijnih rishen OLTP Novi bazi danih Osnovna masa BD NewSQL ye in memory BD Golovnoyu osoblivistyu takih BD ye te sho voni zberigayut osnovnu masu danih ne na zhorstkih diskah a v operativnij pam yati Rozrobniki vpevneni sho zberigannya danih na HDD ye odnim z osnovnih nedolikiv isnuyuchih BD oskilki najvishu shvidkist obrobki i otrimannya danih zabezpechit peremishennya yih v OZP Nedolik OZP na odnomu serveri kompensuyetsya klasterom takih serveriv z velikoyi kilkosti vuzliv Takozh v takih BD peredbacheno periodichne rezervne kopiyuvannya danih na zhorstkij disk shob zapobigati mozhlivim vtratam pri vidmovi servera Otzhe NewSQL sistema rozroblyayetsya povnistyu z nulya z metoyu dosyagnennya masshtabovanosti ta produktivnosti Odnim z klyuchovih faktoriv u pidvishenni produktivnosti ye vikoristannya operativnoyi pam yati abo novih vidiv diskiv flesh pam yat SSD yaki ye shovishem pervinnih danih Dane rishennya mozhe zdijsnyuvatisya programno VoltDB NuoDB abo na rivni zaliza Clustrix Translattice Prikladami rozrobok ye Clustrix NuoDB i Translattice komercijni i VoltDB Open Source Novij rushij bazi danih MySQL Shob podolati problemi masshtabovanosti MySQL bulo stvoreno ryad rushiyiv zasnovanih na MySQL Pozitivna storona vikoristannya interfejsu MySQL ale ye pogana storona ne pidtrimuyutsya migraciya danih z inshih baz danih vklyuchayuchi starij MySQL Prikladi realizaciyi Xeround GenieDB komercijni i Akiban MySQL Grupa NDB i in opensource Odin z najposhirenishih TokuDB Vin vikoristovuye indeksi roztashovani na fraktalnih derevah Voni nabagato shvidshi nizh indeksi na V derevah osoblivo pri perepovnenni operativnoyi pam yati sho viklikaye neobhidnist zchituvati yih z zhorstkogo diska Prozore ob yednannya v klasteri Mayetsya na uvazi zastosovuvannya klasteriv SQL z dekilkoh fizichnih vuzliv dlya zberigannya i obrobki velikih obsyagiv danih Hoch takij pidhid i zalishaye BD OLTP v svoyemu pervisnomu viglyadi ale dozvolyat dosyagti masshtabovanosti i gorizontalnogo ugrupovannya Vsi virobnichi SUBD ob yednuyut v klaster Vin ye serednim sharom middleware yakij perenapravlyaye zapiti do potribnih vuzliv de zberigayutsya dani grupuye dani i vidaye yedinij rezultat Pri takomu pidhodi dlya zapitiv isnuyut obmezhennya shodo vikoristannya zovnishnih klyuchiv i dzhoiniv Tobto ci rishennya zberigayut bazi danih OLTP v svoyemu originalnomu viglyadi ale zabezpechuyut osoblivist rozshirennya z prozorim ugrupovannyam ta garantuyut masshtabovanist Inshij pidhid povinen zabezpechiti prozorij sharding shob takozh polipshiti masshtabovanist BD Schooner MySQL Continuent Tungsten i ScalArc sliduyut pershomu pidhodu todi yak ScaleBase i dbShards sliduyut drugomu pidhodu Obidva pidhodi dozvolyayut povtorne vikoristannya isnuyuchih naboriv i ekosistemi i unikayut potrebi perepisati kod abo vikonati bud yaki migraciyi danih Prikladi realizacij ScalArc Schooner MySQL dbShards komercijnij ScaleBase i Continuent Tungsten opensource Tehnichni harakteristiki rishen NewSQLSQL yak osnovnij mehanizm dlya vzayemodiyi ACID pidtrimka tranzakcij Mehanizm upravlinnya bez zastosuvannya blokuvan takim chinom zchituvalni dani v realnomu chasi ne znahoditsya v protirichchi z zapisuyuchimi sho viklyuchaye konflikt Arhitektura sho zabezpechuye nabagato vishu produktivnist vuzla nizh dostupnij z tradicijnih rishen RDBMS Zruchne masshtabuvannya zdatne keruvati velikoyu kilkistyu vuzliv i ne perenositi vuzki miscya Arhitekturnij prikladRozglyanemo arhitekturnij priklad odnogo z NewSQL rishen dbShards Vin predstavlenij na malyunku 1 malyunok 1Perevagi i nedoliki NewSQLRozglyanemo perevagi i nedoliki NewSQL Perevagi NewSQL Minimalna skladnist dodatkiv a takozh povna tranzakcijna pidtrimka Znajomij SQL i standartni instrumenti Bagato sistem proponuyut klasteri tipu NoSQL z bilsh tradicijnimi modelyami danih i zapitiv Nedoliki NewSQL NewSQL ne ye universalnoyu yak tradicijna sistema SQL Obsyag pam yati mozhe perevishuvati kilka terabajt Proponuye tilki chastkovij dostup do bagatoh instrumentiv tradicijnih SQL sistem RishennyaIsnuyut rizni pidhodi do virishennya zavdannya stvorennya bazi danih Osnovnimi z yakih ye Principovo nova arhitektura Najbilsh populyarnim pidhodom ye stvorennya principovo novih platform dlya zberigannya danih Podibni rishennya proektuyutsya spochatku z rozrahunkom na rozpodilenu arhitekturu i bagatopotochnist Prikladami danih sistem ye Spanner OrientDB VoltDB MemSQL i NuoDB TiDBNovi mehanizmi zberigannya SQL Danij tip rishen nadaye novi principi zberigannya danih yaki masshtabuyutsya krashe nizh napriklad InnoDB Prikladi podibnih rishen TokuDB i bilsh ne rozroblyuvalnij InfiniDBProzore masshtabuvannya Dani sistemi dodayut novij serednij shar poklikanij prihovati rozpodilenu sut zberezhenih danih Prikladi Div takozhObrobka tranzakcij Sekciya bazi danih PrimitkiAslett Matthew 2011 PDF angl 451 Group Arhiv originalu PDF za 10 sichnya 2014 Stonebraker Michael angl Communications of the ACM Blog Arhiv originalu za 20 chervnya 2011 Hoff Todd angl Arhiv originalu za 26 veresnya 2012 Aslett Matthew 2010 angl 451 Group Arhiv originalu za 5 veresnya 2012 Lloyd Alex Berlin Buzzwords Arhiv originalu za 6 zhovtnya 2012 Dataconomy Arhiv originalu za 20 travnya 2018 angl SAP Arhiv originalu za 26 lipnya 2014 Proctor Seth 2013 angl Arhiv originalu za 15 lipnya 2013 Proctor Seth 2013 angl Arhiv originalu za 27 kvitnya 2018 angl 2014 Arhiv originalu za 6 travnya 2022 angl 2014 Arhiv originalu za 19 kvitnya 2018 GitHub Arhiv originalu za 9 travnya 2018 Zhang Jinpeng InfoWorld angl Arhiv originalu za 14 lyutogo 2019 Procitovano 7 bereznya 2018 Opensource com angl Arhiv originalu za 31 lipnya 2019 Procitovano 14 listopada 2018 Xu Kevin InfoWorld angl Arhiv originalu za 14 listopada 2018 Procitovano 14 listopada 2018