Подтвердить что ты не робот

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

FAL Labs имеет несколько продуктов в Токио и продукты в Киото:

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

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

4b9b3361

Ответ 1

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

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

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

(...)

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

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

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

Ответ 2

Токийский кабинет и Тиран являются LGPL и написаны в C. Kyoto Cabinet, а Tycoon - GPLv3 и написаны на С++.

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

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

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

Удачи.

Ответ 3

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

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

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

Ответ 4

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