Что бы вы порекомендовали прочитать человеку, который собирается написать свою собственную БД? - PullRequest
0 голосов
/ 26 октября 2010

Поскольку на мой предыдущий вопрос нет ответов.Я действительно думаю реализовать собственную БД, которая будет удовлетворять моим требованиям.

Да, я знаю, звучит безумно.

Но какие книги, статьи и т. Д. Вы бы порекомендовали прочитать?

Если это имеет значение, требования к моей БД следующие:

  1. Ориентирован на граф - оптимизирован для хранения графиков и обхода (например, HyperGraphDB, Neo4j)
  2. Работа в памяти, но с постоянным хранилищем (например, Redis)
  3. Распределенный (например, мембрана)
  4. Имеет адаптер .NET (TCP / IP, а не HTTP REST) ​​

Iне ищите технических деталей, просто хочу найти какой-то теоретический источник информации о том, как все обычно делается и какие у меня есть варианты.

Ответы [ 3 ]

3 голосов
/ 24 ноября 2010

Если вы готовы потратить усилия на кодирование, почему бы не присоединиться к существующему проекту и не адаптировать / не расширять его для своих нужд?Например, как прозрачное распределение, так и данные только ОЗУ (возможно, сохраняются) находятся в списке TODO HyperGraphDB, поэтому мы будем рады помочь вам :) На самом деле, в основном основная память была в первоначальных требованиях HyperGraphDB, нов какой-то момент он стал неинтересным, учитывая проекты, к которым он привык.

Ура, Борис (http://www.hypergraphdb.org)

0 голосов
/ 26 октября 2010

Вы пробовали mongoDB http://www.mongodb.org/? Я думаю, что это соответствует вашим требованиям. Скажи мне, если это так.

Приветствия]:>

0 голосов
/ 26 октября 2010

Вы можете начать щедрость на свой предыдущий вопрос, чтобы привлечь к нему больше внимания.Но что касается этого вопроса, я бы порекомендовал «Не надо».Это звучит звучит немного сумасшедшим, и вы потратите месяцы (возможно, годы) на создание чего-то, что обеспечивает только постепенное улучшение по сравнению с существующим решением.

Возможно, стоит опубликовать некоторые подробностипроект и объяснение, почему у вас есть эти требования.Вполне возможно, что вы могли бы удовлетворить все ваши требования с помощью другой комбинации решений (например: почему # 2? Почему вы не можете использовать кэширование вместо того, чтобы работать в памяти?).

Если это длятогда коммерческий продукт, я полагаю, у вас есть действительно интересный проект с огромными деньгами.Если это для личного проекта, то удачи, и вы намного смелее, чем я!; -)

...