Подскажите какую БД использовать?
От: Kore Sar  
Дата: 27.11.08 09:21
Оценка:
Привет.

Наше десктопное приложение обрабатывает довольно много данных и держит их всем в памяти. Обычного десктопа с 1-2ГБ оперативной памяти не хватает. После длительных совещаний решили использовать локальную базу данных, из которой было бы удобно извлекать наши горы данных.

Подскажите БД (можно даже платную), которая бы соответствовала следующим требованиям:
ОБЯЗАТЕЛЬНО
* Не надо инсталлировать отдельно от нашего приложения (т.е. чтобы пользователь устанавливал нашу программу без дополнительных телодвижений).
* Не надо администрирования.
* Чтобы база не "слетала" при высокой нагрузке, нехвате памяти HDD или RAM.
* Работала на объёмах данных больше 4ГБ

ЖЕЛАТЕЛЬНО (в порядке убывания значимости)
* Умение создавать новые instance базы и складировать в указаное место в указаный файл.
* С интерфейсом .Net.
* Чтобы умела хранить stored procedures.
* Умение кешировать часто используемые данные.
* Умение синхронизироваться самостоятельно с удалённой базой данных.


Нашел только SQLite. Должны же быть альтернативы.
Re: Подскажите какую БД использовать?
От: LexxFedoroff  
Дата: 27.11.08 09:28
Оценка: 1 (1)
Здравствуйте, Kore Sar, Вы писали:

KS>Нашел только SQLite. Должны же быть альтернативы.


может vistadb
Re: Подскажите какую БД использовать?
От: Ziaw Россия  
Дата: 27.11.08 09:40
Оценка: 1 (1)
Здравствуйте, Kore Sar, Вы писали:

fbembed — встроенная версия СУБД Firebird
KS>Подскажите БД (можно даже платную), которая бы соответствовала следующим требованиям:
KS>ОБЯЗАТЕЛЬНО
KS>* Не надо инсталлировать отдельно от нашего приложения (т.е. чтобы пользователь устанавливал нашу программу без дополнительных телодвижений).
нужны только несколько dll.
KS>* Не надо администрирования.
не требует.
KS>* Чтобы база не "слетала" при высокой нагрузке, нехвате памяти HDD или RAM.
вопрос непонятен, что значит слетала?
KS>* Работала на объёмах данных больше 4ГБ
работает.

KS>ЖЕЛАТЕЛЬНО (в порядке убывания значимости)

KS>* Умение создавать новые instance базы и складировать в указаное место в указаный файл.
умеет.
KS>* С интерфейсом .Net.
есть провайдер ADO.NET
KS>* Чтобы умела хранить stored procedures.
умеет не только хранить, но и выполнять
KS>* Умение кешировать часто используемые данные.
умеет
KS>* Умение синхронизироваться самостоятельно с удалённой базой данных.
репликация? не умеет.
... << RSDN@Home 1.2.0 alpha 4 rev. 0>>
Re[2]: Подскажите какую БД использовать?
От: Kore Sar  
Дата: 27.11.08 09:56
Оценка:
Здравствуйте, Ziaw, Вы писали:

Z>Здравствуйте, Kore Sar, Вы писали:


Z>fbembed — встроенная версия СУБД Firebird


Смотрели на неё. Думали что надо обязательно инсталлировать, поэтому откинули. А оказывается есть fbembed. Спасибо, смотрим.
Re[2]: Подскажите какую БД использовать?
От: DarkMaster Украина http://www.bdslib.at.ua
Дата: 27.11.08 12:37
Оценка:
Здравствуйте, Ziaw, Вы писали:

KS>>* Умение синхронизироваться самостоятельно с удалённой базой данных.

Z>репликация? не умеет.

Есть кучка платных репликаторов. При желании, если нужна не очень сложная репликация (например — только данные гонять) — можно и свой сгородить.
WBR, Dmitry Beloshistov AKA [-=BDS=-]
Re: Подскажите какую БД использовать?
От: Azzw  
Дата: 27.11.08 20:52
Оценка: 1 (1)
Я бы посоветовал попробовать объектно ориентированную бд что нибудь типа http://www.db4o.com/
Правда ничего не могу сказать насчет производительности — надо тестировать.
Но то что вы не кисло с экономите на объектно реляционном маппинге это факт
Re[2]: Подскажите какую БД использовать?
От: Kore Sar  
Дата: 28.11.08 15:43
Оценка:
Здравствуйте, Azzw, Вы писали:

A>Я бы посоветовал попробовать объектно ориентированную бд что нибудь типа http://www.db4o.com/

A>Правда ничего не могу сказать насчет производительности — надо тестировать.
A>Но то что вы не кисло с экономите на объектно реляционном маппинге это факт

Эта база довлоьно тормознута. А у нас слишком много данных. За один вызов на надо будет вычитывать до 1ГБ информациию.
Re: Подскажите какую БД использовать?
От: Kore Sar  
Дата: 28.11.08 16:00
Оценка:
Всем спасибо, кто ответил.
Выбор у нас стоит между sqlite и fbembed (Firebird). sqlite пока проигрывает из-за действительно lite набор фичей. (Мало типов данных, нет хранимых процедур.)

Очень интересует ваш опыт, коллеги. БД у нас планируется на 1-10ГБ мелких данных, большая часть из которых строки.
Самое важное — это чтобы быстро читались данные.
Больше требований, в принципе, нет.

Что лучше из этих двух?
Re[2]: Подскажите какую БД использовать?
От: Ziaw Россия  
Дата: 28.11.08 18:04
Оценка:
Здравствуйте, Kore Sar, Вы писали:

KS>Очень интересует ваш опыт, коллеги. БД у нас планируется на 1-10ГБ мелких данных, большая часть из которых строки.

KS>Самое важное — это чтобы быстро читались данные.
А создать тестовую базу и замерить скорость религия не позволяет? С одной стороны sqlite проще и тоньше, значит простые операции выполнит быстрее (это вообще одна из самых скоростных БД), с другой стороны, в отличии от фаерберда его негде настраивать, а тот же размер блока может ускорить некоторые вещи. Вообще без структуры данных и типовых запросов вы врядли получите объективные ответы.

Для ускорения вычитки я бы подумал о pinvoke API вместо стандартных провайдеров. Поэтому стоит еще сравнить API.
... << RSDN@Home 1.2.0 alpha 4 rev. 1099>>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.