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, а также от частных лиц: Шаблон:Нп2, Макса Левчина, Шаблон:Нп2 и Эштона Кутчера. 18 июня 2012 года вышла первая версия продукта. Сообщается об использовании СУБД такими заказчиками, как Comcast , Zynga, Verisign, Shutterstock . В начале 2014 года в рамках второго раунда фирма получила инвестиции в размере $35 млн[1].
Примечания
- ↑ Jack Clark (23 січня 2014). MemSQL bods develop new transaction: $35m now in-pocket. The Register (англ.). Процитовано 23 січня 2014.
Ссылки
- Офіційний сайт
- http://www.businessweek.com/articles/2012-06-28/enterprise-technology-revenge-of-the-nerdiest-nerds
![]() | Ця стаття має кілька недоліків. Будь ласка, допоможіть удосконалити її або обговоріть ці проблеми на сторінці обговорення.
|