MemSQL

MemSQL — NewSQL реляційна система управління базами даних в оперативній пам'яті, яка припускає розподіл баз даних по декільком вузлам. Підтримує принципи ACID, мова SQL, примітна тим, що для виконання SQL-запитів здійснює кодогенерацію в C ++.

Базова технологія

MemSQL поєднує незаблоковану структуру даних і JIT (Точно вчасно) компілятор, щоб обробляти дуже енергозалежні навантаження. Зокрема, MemSQL реалізує незаблоковані хеш таблиці і незаблоковані списки з пропусками в пам'яті для швидкого і довільного доступу до даних. Запити, надіслані на сервер MemSQL перетворюються в C ++ і компілюються через GCC. Запити позбавлені їх параметрів і шаблон запиту зберігаються в якості спільно використовуваного об'єкта, який потім порівнюється зі вступними запитами до системи. Генерація коду і виконання попередньо скомпільованих запитів допомагає уникнути інтерпретацію довгих шляхів коду, забезпечуючи високоефективні шляхи, які мінімізують необхідну кількість інструкцій процесора.

MemSQL сумісна з MySQL. Додатки можуть підключатися до MemSQL через стандарти ODBC / JDBC, а також через драйвера і користувачів MySQL

Надійність

Незважаючи на зберігання даних в пам'яті, MemSQL забезпечує надійність завдяки впровадженому журналу операцій, оновлюваних до запису даних, і створення знімків файлової системи (за аналогією з контрольною точкою). За замовчуванням, після підтвердження транзакції в пам'яті, транзакція буде записана на диск зі швидкістю, що надається жорстким диском.

Реплікація

MemSQL підтримує власний протокол реплікації, який поставляє його транзакційний журнал в пристрої. MemSQL в даний час підтримує реплікацію «головний-підлеглий».

Розподілена архітектура

MemSQL — розподілена база даних, яка працює за концепцією накопичувачів і вершин. Накопичувач відповідальний за те, щоб розбити запит через відповідні вершини і агрегувати результати назад клієнтові. Вершина — база даних MemSQL. MemSQL використовує поділ хешу, щоб розподілити дані рівномірно по числу вершин. MemSQL зробили розподілену версію своєї системи загальнодоступної 23 квітня 2013, з пробним випуском, доступним для скачування на їх вебсайті.

Версії

  • MemSQL 1b — випущена у вільний доступ в червні 2012
  • MemSQL 1c — незначне оновлення попередньої версії, випущена в липні 2012.
  • MemSQL 1.8 — реплікація і розширені можливості SQL, випущена в грудні 2012.
  • MemSQL 2.0 — вільний доступ розподіленої системи. Перший реліз операційної панелі MemSQL Watch.

Компанія

Продукт розробляється однойменним стартапом, заснованим у 2011 році колишніми інженерами Facebook Еріком Френкелем (Eric Frenkiel) і Микитою Шамгуновим (Nikita Shamgunov) за підтримки проекту Y Combinator. В першому раунді фірма отримала фінансування понад $ 5 млн від фондів First Round Capital, IA Ventures, NEA, а також від приватних осіб: Пола Бакхайта(англ. Paul Buchheit), Макса Левчина, Арона Леви (англ. Aaron Levie) і Ештона Кутчер. 18 червня 2012 року побачила перша версія продукту. Повідомляється про використання СУБД такими замовниками, як Comcast , Zynga, Verisign, Shutterstock . На початку 2014 року в рамках другого раунду фірма отримала інвестиції в розмірі $ 35 млн[1].

Примітки

  1. MemSQL bods develop new transaction: $35m now in-pocke. Архів оригіналу за 28 квітня 2018.

Посилання

  • Офіційний сайт
  • http://www.businessweek.com/articles/2012-06-28/enterprise-technology-revenge-of-the-nerdiest-nerds [Архівовано 14 жовтня 2014 у Wayback Machine.]
Ця стаття має кілька недоліків. Будь ласка, допоможіть удосконалити її або обговоріть ці проблеми на сторінці обговорення. checktranslate
Цю статтю треба вікіфікувати для відповідності стандартам якості Вікіпедії. Будь ласка, допоможіть додаванням доречних внутрішніх посилань або вдосконаленням розмітки статті. (квітень 2018)