Как мне создать эффективное хранилище значений ключей (например, memcache) / простую базу данных? - PullRequest
0 голосов
/ 15 мая 2009

Для нескольких проектов, над которыми я работаю, мне нужно постоянное хранилище значений ключей (что-то вроде memcache). В идеале он будет работать как сервер; это должно быть действительно эффективно. Я знаю, что memcachedb существует, но я бы хотел сам написать его, так как будет много пользовательских функций, которые мне нужно будет включить позже. Я, вероятно, напишу это на C ++ (или, возможно, на C или Java, если для этого есть веские основания).

Должен ли я смотреть на реализацию базы данных (B-деревья, индексы и т. Д.) Или это не нужно для такой работы? Что может быть хорошим способом хранения большей части содержимого на диске, но при этом иметь быстрый доступ к нему, используя память для кэширования?

Спасибо.

Ответы [ 4 ]

6 голосов
/ 15 мая 2009

Я бы действительно рекомендовал вам пересмотреть и использовать стороннюю реализацию.

Если вы хотите, чтобы у вас было много проблем, которые не являются частью вашего домена, то правильный выбор методов реализации базы данных, таких как B + Trees, является правильным следующим шагом.

3 голосов
/ 15 мая 2009

Не изобретайте велосипед.

Вы собираетесь стать пользователем хранилища. То есть ваши основные проблемы связаны с бизнес-логикой и могут представлять собой пользовательский интерфейс, а не детали функционирования БД. Оставьте это разработчикам БД. Сосредоточьтесь на своей основной задаче.

Например, попробуйте использовать HBase (аналог Google Bigtable).

2 голосов
/ 16 мая 2009

Существует множество магазинов с ключевыми значениями, от проверенных и настоящих BDB до модных Tockyo Cabinet . Если вы хотите реализовать свой собственный, я бы порекомендовал проверить Varnish источников, особенно страницу Architecture .

2 голосов
/ 16 мая 2009
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...