В чем разница между Токийским и Киотским кабинетами? - PullRequest
22 голосов
/ 14 ноября 2010

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

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

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

Ответы [ 4 ]

13 голосов
/ 08 декабря 2010

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

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

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

(...)

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

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

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

7 голосов
/ 15 ноября 2010

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

Kyoto Tyrant поддерживает просроченные записи в памяти, поэтому он может заменить memcached.

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

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

Удачи.

2 голосов
/ 18 ноября 2011

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

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

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

1 голос
/ 07 мая 2012

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

...