SlideShare a Scribd company logo
1 of 8
Download to read offline
TokyoCabinet
Простой движок БД
Где использовать
TokyoCabinet?
● Нужно хранить ооооочень много данных
● И быстро искать по ним
● Но не нужны сложные запросы
TokyoCabinet
● Быстро записывает, ищет, читает и удаляет
● Устойчива и надежна
● Скэйлится на отличненько
● API для C, Perl, Ruby, Java и Lua
● Хранит данные в файле в виде
“ключ → значение”
Типы хранилищ
TokyoCabinet:
● The Hash Database
● The B+ Tree Database
● The Fixed-length Database
● The Table Database
● The Abstract Database
Пример простого класса для
работы с TokyoCabinet
1. Создаем класс HDBStorage, который выполняет
основные операции: запись/чтение/удаление
2. Бенчмарким скорость записи и сравниваем с MySQL
3. Расширяем, углубляем и скэйлим
- Эй, а как насчет MySQL?
Можно ли жить вместе
с двумя такими разными
БД в одном приложении?
Установка?
./configure
make
make install
И еще немного некривых рук для
установки API и джема tokyocabinet-wrapper
http://1978th.net/tokyocabinet/
http://1978th.net/tokyocabinet/rubydoc/
http://github.com/oleganza/tokyocabinet-wrapper/

More Related Content

What's hot

Windows Azure Storage services
Windows Azure Storage servicesWindows Azure Storage services
Windows Azure Storage servicesPavel Revenkov
 
Екатерина Войденко "Интранет и синхронизация"
Екатерина Войденко "Интранет и синхронизация"Екатерина Войденко "Интранет и синхронизация"
Екатерина Войденко "Интранет и синхронизация"Yandex
 
Сервер-агрегатор на python (аля Xscript FEST), Сумин Андрей, Сабуренков Михаи...
Сервер-агрегатор на python (аля Xscript FEST), Сумин Андрей, Сабуренков Михаи...Сервер-агрегатор на python (аля Xscript FEST), Сумин Андрей, Сабуренков Михаи...
Сервер-агрегатор на python (аля Xscript FEST), Сумин Андрей, Сабуренков Михаи...Fuenteovejuna
 
обслуживание мультисайтинга
обслуживание мультисайтингаобслуживание мультисайтинга
обслуживание мультисайтингаInna Tuyeva
 
Доклад "React under the hood"
Доклад "React under the hood"Доклад "React under the hood"
Доклад "React under the hood"Kateryna Porshnieva
 
CodeFest 2013. Могелашвили Г. — Мобильные сервисы, блобы и Windows 8. Храним ...
CodeFest 2013. Могелашвили Г. — Мобильные сервисы, блобы и Windows 8. Храним ...CodeFest 2013. Могелашвили Г. — Мобильные сервисы, блобы и Windows 8. Храним ...
CodeFest 2013. Могелашвили Г. — Мобильные сервисы, блобы и Windows 8. Храним ...CodeFest
 
Бинарные (файловые) хранилища: страшная сказка с мрачным концом / Даниил Подо...
Бинарные (файловые) хранилища: страшная сказка с мрачным концом / Даниил Подо...Бинарные (файловые) хранилища: страшная сказка с мрачным концом / Даниил Подо...
Бинарные (файловые) хранилища: страшная сказка с мрачным концом / Даниил Подо...Ontico
 
JS Fest 2019. Игорь Березин и Николай Крещенко. Эволюция архитектуры многогра...
JS Fest 2019. Игорь Березин и Николай Крещенко. Эволюция архитектуры многогра...JS Fest 2019. Игорь Березин и Николай Крещенко. Эволюция архитектуры многогра...
JS Fest 2019. Игорь Березин и Николай Крещенко. Эволюция архитектуры многогра...JSFestUA
 
Kirill A Korinskiy Rit2010 No Sql Storage
Kirill A  Korinskiy Rit2010 No Sql StorageKirill A  Korinskiy Rit2010 No Sql Storage
Kirill A Korinskiy Rit2010 No Sql Storagerit2010
 
Serge P Nekoval Grails
Serge P  Nekoval  GrailsSerge P  Nekoval  Grails
Serge P Nekoval Grailsguest092df8
 
Smirnov Twisted Python
Smirnov Twisted PythonSmirnov Twisted Python
Smirnov Twisted PythonHighLoad2009
 
Web performance 101 [GDG nsk webdev meetup #3]
Web performance 101 [GDG nsk webdev meetup #3]Web performance 101 [GDG nsk webdev meetup #3]
Web performance 101 [GDG nsk webdev meetup #3]Eugene Chekan
 
Twisted Framework - сетевые приложения в Python
Twisted Framework - сетевые приложения в PythonTwisted Framework - сетевые приложения в Python
Twisted Framework - сетевые приложения в PythonAndrey Smirnov
 

What's hot (17)

Windows Azure Storage services
Windows Azure Storage servicesWindows Azure Storage services
Windows Azure Storage services
 
Екатерина Войденко "Интранет и синхронизация"
Екатерина Войденко "Интранет и синхронизация"Екатерина Войденко "Интранет и синхронизация"
Екатерина Войденко "Интранет и синхронизация"
 
Сервер-агрегатор на python (аля Xscript FEST), Сумин Андрей, Сабуренков Михаи...
Сервер-агрегатор на python (аля Xscript FEST), Сумин Андрей, Сабуренков Михаи...Сервер-агрегатор на python (аля Xscript FEST), Сумин Андрей, Сабуренков Михаи...
Сервер-агрегатор на python (аля Xscript FEST), Сумин Андрей, Сабуренков Михаи...
 
обслуживание мультисайтинга
обслуживание мультисайтингаобслуживание мультисайтинга
обслуживание мультисайтинга
 
Build your own multistack JS startup
Build your own multistack JS startupBuild your own multistack JS startup
Build your own multistack JS startup
 
Доклад "React under the hood"
Доклад "React under the hood"Доклад "React under the hood"
Доклад "React under the hood"
 
CodeFest 2013. Могелашвили Г. — Мобильные сервисы, блобы и Windows 8. Храним ...
CodeFest 2013. Могелашвили Г. — Мобильные сервисы, блобы и Windows 8. Храним ...CodeFest 2013. Могелашвили Г. — Мобильные сервисы, блобы и Windows 8. Храним ...
CodeFest 2013. Могелашвили Г. — Мобильные сервисы, блобы и Windows 8. Храним ...
 
Бинарные (файловые) хранилища: страшная сказка с мрачным концом / Даниил Подо...
Бинарные (файловые) хранилища: страшная сказка с мрачным концом / Даниил Подо...Бинарные (файловые) хранилища: страшная сказка с мрачным концом / Даниил Подо...
Бинарные (файловые) хранилища: страшная сказка с мрачным концом / Даниил Подо...
 
JS Fest 2019. Игорь Березин и Николай Крещенко. Эволюция архитектуры многогра...
JS Fest 2019. Игорь Березин и Николай Крещенко. Эволюция архитектуры многогра...JS Fest 2019. Игорь Березин и Николай Крещенко. Эволюция архитектуры многогра...
JS Fest 2019. Игорь Березин и Николай Крещенко. Эволюция архитектуры многогра...
 
Make Async Great Again
Make Async Great AgainMake Async Great Again
Make Async Great Again
 
React Webinar Slides
React Webinar SlidesReact Webinar Slides
React Webinar Slides
 
Kirill A Korinskiy Rit2010 No Sql Storage
Kirill A  Korinskiy Rit2010 No Sql StorageKirill A  Korinskiy Rit2010 No Sql Storage
Kirill A Korinskiy Rit2010 No Sql Storage
 
Serge P Nekoval Grails
Serge P  Nekoval  GrailsSerge P  Nekoval  Grails
Serge P Nekoval Grails
 
Drupal and NodeJS.
Drupal and NodeJS.Drupal and NodeJS.
Drupal and NodeJS.
 
Smirnov Twisted Python
Smirnov Twisted PythonSmirnov Twisted Python
Smirnov Twisted Python
 
Web performance 101 [GDG nsk webdev meetup #3]
Web performance 101 [GDG nsk webdev meetup #3]Web performance 101 [GDG nsk webdev meetup #3]
Web performance 101 [GDG nsk webdev meetup #3]
 
Twisted Framework - сетевые приложения в Python
Twisted Framework - сетевые приложения в PythonTwisted Framework - сетевые приложения в Python
Twisted Framework - сетевые приложения в Python
 

Viewers also liked

Smalltalk в распределённых системах реального времени
Smalltalk в распределённых системах реального времениSmalltalk в распределённых системах реального времени
Smalltalk в распределённых системах реального времениФПС СПбГПУ
 
Tarea1 cristina ruiz_gascon
Tarea1 cristina ruiz_gasconTarea1 cristina ruiz_gascon
Tarea1 cristina ruiz_gasconcrisalba77
 
Smalltalk в распределенных бизнес-приложениях
Smalltalk в распределенных бизнес-приложенияхSmalltalk в распределенных бизнес-приложениях
Smalltalk в распределенных бизнес-приложенияхФПС СПбГПУ
 
Smalltalk: первое знакомство
Smalltalk: первое знакомствоSmalltalk: первое знакомство
Smalltalk: первое знакомствоФПС СПбГПУ
 

Viewers also liked (7)

Smalltalk в распределённых системах реального времени
Smalltalk в распределённых системах реального времениSmalltalk в распределённых системах реального времени
Smalltalk в распределённых системах реального времени
 
Tarea1 cristina ruiz_gascon
Tarea1 cristina ruiz_gasconTarea1 cristina ruiz_gascon
Tarea1 cristina ruiz_gascon
 
MongoDB
MongoDBMongoDB
MongoDB
 
Smalltalk в распределенных бизнес-приложениях
Smalltalk в распределенных бизнес-приложенияхSmalltalk в распределенных бизнес-приложениях
Smalltalk в распределенных бизнес-приложениях
 
КИТ 2013
КИТ 2013КИТ 2013
КИТ 2013
 
КИТ ДОД 2013
КИТ ДОД 2013КИТ ДОД 2013
КИТ ДОД 2013
 
Smalltalk: первое знакомство
Smalltalk: первое знакомствоSmalltalk: первое знакомство
Smalltalk: первое знакомство
 

Similar to Tokyo Cabinet

ORM battle. MyBatis vs Hibernate
ORM battle. MyBatis vs HibernateORM battle. MyBatis vs Hibernate
ORM battle. MyBatis vs HibernateAlexey Zinoviev
 
2012-12-01 03 Битва ORM: Hibernate vs MyBatis. Давайте жить дружно!
2012-12-01 03 Битва ORM: Hibernate vs MyBatis. Давайте жить дружно!2012-12-01 03 Битва ORM: Hibernate vs MyBatis. Давайте жить дружно!
2012-12-01 03 Битва ORM: Hibernate vs MyBatis. Давайте жить дружно!Омские ИТ-субботники
 
Доклад Сергея Аверина на DevConf 2013. "Распространенные ошибки применения ба...
Доклад Сергея Аверина на DevConf 2013. "Распространенные ошибки применения ба...Доклад Сергея Аверина на DevConf 2013. "Распространенные ошибки применения ба...
Доклад Сергея Аверина на DevConf 2013. "Распространенные ошибки применения ба...Badoo Development
 
ORM технологии в .NET (Nhibernate, Linq To SQL, Entity Framework)
ORM технологии в .NET (Nhibernate, Linq To SQL, Entity Framework)ORM технологии в .NET (Nhibernate, Linq To SQL, Entity Framework)
ORM технологии в .NET (Nhibernate, Linq To SQL, Entity Framework)Pavel Tsukanov
 
MyBatis и Hibernate на одном проекте. Как подружить?
MyBatis и Hibernate на одном проекте. Как подружить?MyBatis и Hibernate на одном проекте. Как подружить?
MyBatis и Hibernate на одном проекте. Как подружить?Alexey Zinoviev
 
CodeFest 2013. Зиновьев А. — MyBatis & Hibernate, давайте жить дружно!
CodeFest 2013. Зиновьев А. — MyBatis & Hibernate, давайте жить дружно!CodeFest 2013. Зиновьев А. — MyBatis & Hibernate, давайте жить дружно!
CodeFest 2013. Зиновьев А. — MyBatis & Hibernate, давайте жить дружно!CodeFest
 
Как мы храним и анализируем большой социальный граф, Максим Бартенев (Норси-т...
Как мы храним и анализируем большой социальный граф, Максим Бартенев (Норси-т...Как мы храним и анализируем большой социальный граф, Максим Бартенев (Норси-т...
Как мы храним и анализируем большой социальный граф, Максим Бартенев (Норси-т...Ontico
 
Распространенные ошибки применения баз данных
Распространенные ошибки применения баз данныхРаспространенные ошибки применения баз данных
Распространенные ошибки применения баз данныхSergey Xek
 
Проверено и работает. Инструменты Oracle для разработки веб приложений
Проверено и работает. Инструменты Oracle для разработки веб приложенийПроверено и работает. Инструменты Oracle для разработки веб приложений
Проверено и работает. Инструменты Oracle для разработки веб приложенийMedia Gorod
 
Как превратить Openstack Swift в хранилище для высоких нагрузок разных типов,...
Как превратить Openstack Swift в хранилище для высоких нагрузок разных типов,...Как превратить Openstack Swift в хранилище для высоких нагрузок разных типов,...
Как превратить Openstack Swift в хранилище для высоких нагрузок разных типов,...Ontico
 
"How to build powerful CI / CD based on GitLab and Docker", Aleksandr Matkovs...
"How to build powerful CI / CD based on GitLab and Docker", Aleksandr Matkovs..."How to build powerful CI / CD based on GitLab and Docker", Aleksandr Matkovs...
"How to build powerful CI / CD based on GitLab and Docker", Aleksandr Matkovs...Provectus
 
Использование сторонних библиотек в веб-приложении
Использование сторонних библиотек в веб-приложенииИспользование сторонних библиотек в веб-приложении
Использование сторонних библиотек в веб-приложенииDenis Latushkin
 
CodeFest 2014. Каплуновский Б. — Использование асинхронного I/O для снижения ...
CodeFest 2014. Каплуновский Б. — Использование асинхронного I/O для снижения ...CodeFest 2014. Каплуновский Б. — Использование асинхронного I/O для снижения ...
CodeFest 2014. Каплуновский Б. — Использование асинхронного I/O для снижения ...CodeFest
 
Павел Брылов, Skype
Павел Брылов, SkypeПавел Брылов, Skype
Павел Брылов, SkypeOntico
 
02-Hibernate. Hibernate
02-Hibernate. Hibernate02-Hibernate. Hibernate
02-Hibernate. HibernateRoman Brovko
 
Гетерогенные сервисы для highload-проектов на примере Imhonet.ru и 4talk.im, ...
Гетерогенные сервисы для highload-проектов на примере Imhonet.ru и 4talk.im, ...Гетерогенные сервисы для highload-проектов на примере Imhonet.ru и 4talk.im, ...
Гетерогенные сервисы для highload-проектов на примере Imhonet.ru и 4talk.im, ...Ontico
 

Similar to Tokyo Cabinet (20)

ORM battle. MyBatis vs Hibernate
ORM battle. MyBatis vs HibernateORM battle. MyBatis vs Hibernate
ORM battle. MyBatis vs Hibernate
 
2012-12-01 03 Битва ORM: Hibernate vs MyBatis. Давайте жить дружно!
2012-12-01 03 Битва ORM: Hibernate vs MyBatis. Давайте жить дружно!2012-12-01 03 Битва ORM: Hibernate vs MyBatis. Давайте жить дружно!
2012-12-01 03 Битва ORM: Hibernate vs MyBatis. Давайте жить дружно!
 
Доклад Сергея Аверина на DevConf 2013. "Распространенные ошибки применения ба...
Доклад Сергея Аверина на DevConf 2013. "Распространенные ошибки применения ба...Доклад Сергея Аверина на DevConf 2013. "Распространенные ошибки применения ба...
Доклад Сергея Аверина на DevConf 2013. "Распространенные ошибки применения ба...
 
ORM технологии в .NET (Nhibernate, Linq To SQL, Entity Framework)
ORM технологии в .NET (Nhibernate, Linq To SQL, Entity Framework)ORM технологии в .NET (Nhibernate, Linq To SQL, Entity Framework)
ORM технологии в .NET (Nhibernate, Linq To SQL, Entity Framework)
 
MyBatis и Hibernate на одном проекте. Как подружить?
MyBatis и Hibernate на одном проекте. Как подружить?MyBatis и Hibernate на одном проекте. Как подружить?
MyBatis и Hibernate на одном проекте. Как подружить?
 
CodeFest 2013. Зиновьев А. — MyBatis & Hibernate, давайте жить дружно!
CodeFest 2013. Зиновьев А. — MyBatis & Hibernate, давайте жить дружно!CodeFest 2013. Зиновьев А. — MyBatis & Hibernate, давайте жить дружно!
CodeFest 2013. Зиновьев А. — MyBatis & Hibernate, давайте жить дружно!
 
Как мы храним и анализируем большой социальный граф, Максим Бартенев (Норси-т...
Как мы храним и анализируем большой социальный граф, Максим Бартенев (Норси-т...Как мы храним и анализируем большой социальный граф, Максим Бартенев (Норси-т...
Как мы храним и анализируем большой социальный граф, Максим Бартенев (Норси-т...
 
Sivko
SivkoSivko
Sivko
 
Распространенные ошибки применения баз данных
Распространенные ошибки применения баз данныхРаспространенные ошибки применения баз данных
Распространенные ошибки применения баз данных
 
Nrdbms
NrdbmsNrdbms
Nrdbms
 
Проверено и работает. Инструменты Oracle для разработки веб приложений
Проверено и работает. Инструменты Oracle для разработки веб приложенийПроверено и работает. Инструменты Oracle для разработки веб приложений
Проверено и работает. Инструменты Oracle для разработки веб приложений
 
Как превратить Openstack Swift в хранилище для высоких нагрузок разных типов,...
Как превратить Openstack Swift в хранилище для высоких нагрузок разных типов,...Как превратить Openstack Swift в хранилище для высоких нагрузок разных типов,...
Как превратить Openstack Swift в хранилище для высоких нагрузок разных типов,...
 
"How to build powerful CI / CD based on GitLab and Docker", Aleksandr Matkovs...
"How to build powerful CI / CD based on GitLab and Docker", Aleksandr Matkovs..."How to build powerful CI / CD based on GitLab and Docker", Aleksandr Matkovs...
"How to build powerful CI / CD based on GitLab and Docker", Aleksandr Matkovs...
 
Использование сторонних библиотек в веб-приложении
Использование сторонних библиотек в веб-приложенииИспользование сторонних библиотек в веб-приложении
Использование сторонних библиотек в веб-приложении
 
2 bdw.key
2 bdw.key2 bdw.key
2 bdw.key
 
CodeFest 2014. Каплуновский Б. — Использование асинхронного I/O для снижения ...
CodeFest 2014. Каплуновский Б. — Использование асинхронного I/O для снижения ...CodeFest 2014. Каплуновский Б. — Использование асинхронного I/O для снижения ...
CodeFest 2014. Каплуновский Б. — Использование асинхронного I/O для снижения ...
 
Павел Брылов, Skype
Павел Брылов, SkypeПавел Брылов, Skype
Павел Брылов, Skype
 
02-Hibernate. Hibernate
02-Hibernate. Hibernate02-Hibernate. Hibernate
02-Hibernate. Hibernate
 
Nosql and Mongodb
Nosql and MongodbNosql and Mongodb
Nosql and Mongodb
 
Гетерогенные сервисы для highload-проектов на примере Imhonet.ru и 4talk.im, ...
Гетерогенные сервисы для highload-проектов на примере Imhonet.ru и 4talk.im, ...Гетерогенные сервисы для highload-проектов на примере Imhonet.ru и 4talk.im, ...
Гетерогенные сервисы для highload-проектов на примере Imhonet.ru и 4talk.im, ...
 

More from ФПС СПбГПУ

День откртых дверей ФПС СПбГПУ 2009
День откртых дверей ФПС СПбГПУ 2009День откртых дверей ФПС СПбГПУ 2009
День откртых дверей ФПС СПбГПУ 2009ФПС СПбГПУ
 
Обзор программ обучения в области СХД
Обзор программ обучения в области СХДОбзор программ обучения в области СХД
Обзор программ обучения в области СХДФПС СПбГПУ
 
Семинар «Windows Server 2003 R2»
Семинар «Windows Server 2003 R2»Семинар «Windows Server 2003 R2»
Семинар «Windows Server 2003 R2»ФПС СПбГПУ
 

More from ФПС СПбГПУ (6)

КИТ-2010
КИТ-2010КИТ-2010
КИТ-2010
 
День откртых дверей ФПС СПбГПУ 2009
День откртых дверей ФПС СПбГПУ 2009День откртых дверей ФПС СПбГПУ 2009
День откртых дверей ФПС СПбГПУ 2009
 
КИТ2009
КИТ2009КИТ2009
КИТ2009
 
Обзор программ обучения в области СХД
Обзор программ обучения в области СХДОбзор программ обучения в области СХД
Обзор программ обучения в области СХД
 
Windows Server 2003 Seminar
Windows Server  2003 SeminarWindows Server  2003 Seminar
Windows Server 2003 Seminar
 
Семинар «Windows Server 2003 R2»
Семинар «Windows Server 2003 R2»Семинар «Windows Server 2003 R2»
Семинар «Windows Server 2003 R2»
 

Tokyo Cabinet