В чем разница между Токийским и Киотским кабинетами?

FAL Labs имеет несколько токийских и киотских продуктов:

  • Токийский Кабинет и Киотский Кабинет являются облегченными базами данных.
  • Токийский тиран и Киотский магнат оба являются легковесными серверами баз данных...

Может кто-нибудь объяснить разницу между продуктами Токио и Киото?

4 ответа

Токийский кабинет более полон и стабилен, Киото еще слишком свеж (сегодня 8 декабря 2010 г.) и имеет некоторые проблемы. Киото, написанное на C++, (намного) проще, чем Токио (написанное на C), но эта простота допускает некоторый пробел. Производительность Киото немного хуже, чем в Токио, но лучше работает с потоками (по крайней мере, так обещает документация).

Из официальной документации:

<< В 2007 году Токийский Кабинет был разработан как преемник QDBM в следующих целях. Они были достигнуты, и Токийский кабинет министров мог заменить обычные продукты DBM.

(...)

В 2009 году Киотский кабинет был разработан как еще один преемник QDBM. По сравнению с аналогичным продуктом (Токийский кабинет) были реализованы следующие преимущества. Однако производительность Токийского Кабинета выше, чем у Киотского Кабинета, по крайней мере, в однопотоковых операциях. >>

Я использовал оба, но я все еще предпочитаю Токио, потому что у меня была проблема с Киото: в базе данных Киото Кабинета с использованием базы данных хэш-файлов, как можно избежать увеличения размера файла? и никто не смог мне помочь. Я до сих пор не знаю, как это решить.

Исходя из моего личного опыта, я обнаружил, что Киото легче компилировать и устанавливать, а также проще в использовании. У меня были большие проблемы с токийскими библиотечными зависимостями и проблемы с подключением нативной библиотеки к интерфейсу Java. С Киото все было хорошо и отлично работает с первой попытки. Но, как я уже говорил, я чувствую больший контроль над базой данных, используя Токио.

Кабинет Токио и Тиран - LGPL и написаны на C. Кабинет Киото и Tycoon - GPLv3 и написаны на C++.

Киотский Тиран поддерживает просроченные записи в памяти, поэтому он может заменить memcached.

Разработчик говорит, что Киото * не является преемником Токио *, но это всего лишь маркетинговая стратегия; если вы не собираетесь разрабатывать коммерческий продукт, используйте Киото. Это новее и лучше.

И я предлагаю вам прочитать блог разработчика (на японском и английском языках) и внимательно прочитать заголовочные файлы (если вы собираетесь использовать библиотеку).

Удачи.

Самое важное различие между ними в отношении моих вариантов использования состоит в том, что у TC есть "база данных таблиц", а у KC - нет.

Да, вы можете сериализовать произвольные данные в строку и сохранить их как значение элемента, но тогда вы либо не сможете выполнять поиск по значению вообще, либо вам придется перебирать весь набор данных и десериализовать каждый элемент, или заново изобретать колесо и вручную индексировать данные.

TDB Tokyo Cabinet предоставляет превосходные возможности запросов для вложенных данных (индексы, сравнение чисел и строк, даже регулярные выражения внутри "полей"). Киотская вещь - это просто магазин KV; TC также является мощной документно-ориентированной базой данных.

Кроме того, согласно тесту, который я сделал, протокол Киото основан только на HTTP - более открытый, но медленнее, чем двоичный протокол Токио.

Другие вопросы по тегам