В поисках автономного сервера данных в памяти с последовательным доступом [закрыто

StackOverflow https://stackoverflow.com/questions/4387707

Вопрос

Нам нужна структура данных в памяти / дБ сервер С следующими характеристиками:

  1. автономный сервер: будет работать на той же машине, что и клиенты, поэтому любой вид IPC в порядке
  2. последовательный доступ: get next/previous key
  3. два ключа (строка) на запись: своего рода двунаправленная карта, на самом деле
  4. в памяти Только: должен иметь возможность вообще не настойчивости
  5. RAM -диск/TMPFS Решение нежелательно
  6. SQL/ODBC - это вариант, хотя не требуется
  7. Коммерческий продукт ОК, если цена лицензии OEM разумна

До сих пор мы рассмотрели следующие варианты, но пока нет удовлетворительного решения:

  • mysql: Отвечает на все требования, но теперь ответьте на то, сколько будет стоить лицензия OEM
  • Мемкахед, Кассандра: Нет последовательного доступа, согласно онлайн -документам
  • Редис: кажется хорошим инструментом, но опять же, я не вижу get nex/prev в спецификации
  • Постгрес: не могло бы хорошо работать на Linux/ODBC

Похоже, что все DBS NOSQL в памяти обеспечивают только прямой доступ к Key, хэш-столевому стилю. Еще не проверили Apache Derby.

Мы работаем на Linux, клиент находится в C ++.

Буду рады иметь ваши предложения. Спасибо!

РЕДАКТИРОВАТЬ: Кажется, что мы будем преследовать mysql Вариант, у нас есть разумное предложение по цене, и оно также будет полезно в качестве основного (постоянного) БД. Спасибо за все ответы, как обычно, трудно выбрать только один.

Это было полезно?

Решение

Я бы предложил Kyoto Cabinet, он имеет функцию в памяти и последовательный доступ.

РЕДАКТИРОВАТЬ: Что не так с картой STL?

Другие советы

Я бы посмотрел на SQLite с установленным именем файла базы данных: «Память:« Это создаст базу данных в памяти, которая больше не будет существовать, когда ваше приложение закроется.

Это общественное достояние, так что нет проблем с лицензированием

FASTDB должен работать просто отлично. Он поддерживает конфигурацию в памяти и общий доступ.

Redis не сортирует клавиши, но у него есть списки/наборы, которые позволяют вам получать элементы по порядку. Трудно понять, сработает ли это, не зная, почему вы хотите последовательный доступ, но с NOSQL вам часто нужно думать по -другому о структурах данных, которые вы используете.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top