Не могли бы вы использовать Lucene в качестве OODB? - PullRequest
1 голос
/ 05 июня 2009

Учитывая, что Lucene является надежной поисковой системой на основе документов, можно ли ее использовать в качестве базы данных объектов для простых приложений (например, приложений в стиле CMS), и если да, то в чем вы видите преимущества и ограничения?

Я понимаю роль СУБД (и использую их ежедневно), но следил за изучением других технологий / идей.

Например, скажем, мои доменные сущности имеют вид:

[Serializable]
public class Employee
{
    public string FirstName {get;set;}
    public string Surname {get;set;}
}

Можно ли использовать отражение и сохранить значения свойств объекта Employee в качестве полей в документе Lucene, а также сохранить двоичную сериализованную версию объекта Employee в другое поле в том же документе Lucene?

1 Ответ

1 голос
/ 05 июня 2009

Нет. Попытка использовать Lucene в качестве эффективной OODB (объектно-ориентированной базы данных) будет все равно, что пытаться втиснуть квадратный колышек в круглое отверстие. Они действительно два совершенно разных зверя.

Lucene хорош в построении текстового индекса набора документов ... не хранит объекты (в смысле программирования). Возможно, вы неправильно понимаете, что такое объектно-ориентированная база данных. Вы можете проверить определение в Википедии:

Базы данных объектов

Объектно-ориентированные базы данных имеют свое место. Если у вас действительно есть приложение, которое выиграет от OODB, я бы предложил проверить что-то вроде InterSystems Cach & eacute;

...