MemSQL

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
MemSQL
Тип

СУБД в оперативной памяти[en]

Разработчик

MemSQL, Inc.

Написана на

C++

Операционная система

Linux

Последняя версия

2.0 (2013-04-23)

Лицензия

Собственническая

Сайт

memsql.com

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

Базовая технология[править | править исходный текст]

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

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

Надежность[править | править исходный текст]

Несмотря на то, MemSQL хранит данные в памяти, 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[en], Zynga, Verisign, Shutterstock[en]. В начале 2014 года в рамках второго раунда фирма получила инвестиции в размере $35 млн[1].

Примечания[править | править исходный текст]

  1. Jack Clark. MemSQL bods develop new transaction: $35m now in-pocket (англ.). The Register (23 January 2014). Проверено 23 января 2014.

Ссылки[править | править исходный текст]