Upgrade to Pro — share decks privately, control downloads, hide ads and more …

tarantool.pdf

dasha
December 08, 2018

 tarantool.pdf

dasha

December 08, 2018
Tweet

Other Decks in Programming

Transcript

  1. ИСТОРИЯ • Разработчик и автор - Mail.ru Group; • Начат

    в 2008 году; • Руководитель проекта – бывший технический директор MySQL; • «Как сэкономить миллион долларов на базе данных на высоконагруженном проекте» 2
  2. “УМНЫЙ” CACHE • Писать сначала в базу, потом в кэш

    (-) • Писать сначала в кэш, потом в базу (-) • ‘Самописный’ демон, который сам пишет в базу и кеширует (+) 3
  3. ОСОБЕННОСТИ 1. Данные хранятся в оперативной памяти; 2. Открытый исходный

    код; 3. Данные защищены логом транзакций; 4. Поддерживается репликация 5. Поддерживает язык запросов SQl + LUA; 6. Tarantool-binary protocol; 7. Клиентские библиотеки на многих языках. 4
  4. ПРОИЗВОДИТЕЛЬНОСТЬ • Хранит все данные в оперативной памяти; • Производительность

    изначально существенно выше чем у традиционных СУБД; • Читает всегда из оперативной памяти 5
  5. МОДЕЛЬ ДАННЫХ • Пространства — это коллекции объектов; • Первый

    элемент кортежа — это первичный ключ; • Типы данных – числа и строки; • Можно делать выборки по отдельным атрибутам кортежа. 6
  6. ОТКАЗОУСТОЙЧИВОСТЬ • Текущее состояние фиксируется в файле ‘snapshot’ • Все

    изменения пишутся в файл ‘WAL’ (write ahead log); • Каждая запись в ’WAL’ имеет порядковый номер ‘LSN’ (log sequence number) 8
  7. ОТКАЗОУСТОЙЧИВОСТЬ • SNAP • 0.13 • Version: 1.9.2-7-g3736c37 • Instance:

    c5d1e3ac-736c-4e92-a390- 13ce02d272d0 • VClock: {1: 2949197, 2: 16387462} ХєєН%i Оzі{ШҐ (µ/э Pt*є˜ ‘\> Х ;ВHГМГЇsЎ˜ѓЖљµЎ©*Ф&•КгЧ"е”LX©€џT m1ПAючЅыя}СжЕ\’н%Фw)лз·€€лв~А›!_rFѓЂЫ©к °Q] 10
  8. LUA - ФУНКЦИИ • Есть встроенные LUA - функции для

    управления БД; • В Tarantool можно писать хранимые функции на LUA; • Можно реализовать фоновые обработчики 15 box.snapshot() box.snapshot()
  9. ПРАКТИЧЕСКОЕ ПРИМЕНЕНИЕ • В качестве слоя кэширования для традиционных реляционных

    баз данных; • Для динамического контента: сеансов пользователей, мгновенных сообщений; • В 2014 году был принят социальными сетями Badoo и Одноклассники; • Обработка самых «горячих» данных Mail.Ru • Использование в биллинговых системах Мегафона 16
  10. ПЛЮСЫ • Быстрая • Дружественные разработчики tarantool ; • Удобно

    доставать данные БД; • Удобно хранить данные 18