Какова “лучшая” база данных для встроенного? [закрытый]

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

Встроенное устройство базируется вокруг процессора ARM 9, достигающего 220 МГц.

Должна быть база данных 50k записей (может увеличиться до 250k), каждый с 1k данных (макс. 8 зарегистрированных). Это приблизительно - я могу попытаться получить более точные числа при необходимости.

Они в настоящее время используют SqlLite 2 и планируют переместиться в SqlLite 3.

Не запуская войну пламени - я - полный d/b новичок, просто обращающийся за советом - который является "лучшим" решением? Я понимаю, что это могло бы быть, "какой длины часть строки?" вопрос, но любые указатели был бы значительно одобрен. Я не возражаю делать большое чтение и исследование, но просто надеялся, что Вы могли получить меня от к многообещающему началу. Спасибо.

p.s Снова, общая перезапись, даже не мог бы придерживаться встроенного Linux, но переключиться на eCos, не волнуйтесь слишком много об одном преобразовании времени между форматами d/b. О, и доступы должны быть нечастыми, самое большее один каждые несколько секунд.


править: хорошо, кажется, что у них есть 30k записи (может достигнуть 100k или больше) только 5 или 6 полей каждый, но по крайней мере 3 из них могут быть ключом поиска для записи. Они играют "с наличием никакого d/b вообще, так как данные так просты", но мне кажется, что с несколькими ключами, мы не могли использовать необычный материал как quicksort () поиск типа (рекурсивный, двоичный поиск). Какие-либо мысли о "никаком d/b", просто структуры данных?

Btw, один ключ является 800k - не уверенный, как хорошо дескрипторы SqlLite, что (возможно, с "никаким d/b" я должен хешировать это 800k к чему-то меньшему?)

18
задан Mawg 7 January 2010 в 12:26
поделиться

8 ответов

[

] Также SQLite - это База данных, которую выбирают практически все мобильные операционные системы. Android, Iphone OS и Symbian ship с SQLite, что заставляет меня думать, что человеческие ресурсы были потрачены на оптимизацию его для процессора в этих телефонах (почти всегда ARM).[

].
24
ответ дан 30 November 2019 в 06:05
поделиться

SQLite, вероятно, довольно безопасная ставка. Однако, если производительность действительно важна для вашего приложения и вам не нужна реляционная база данных, я бы посоветовал вам взглянуть на текст ссылки Berkeley DB . Однако Berkeley DB не является реляционной базой данных. Другими словами, если ваши данные сгруппированы в разные таблицы и вам постоянно нужно опрашивать реляционные наборы результатов, для которых требуются относящиеся к ним данные из более чем одной таблицы, то, скорее всего, вам нужна реляционная БД. Berkeley DB лучше подходит для чего-то вроде поиска по таблицам (т.е. данные организованы в несколько таблиц, и вам не нужно запрашивать данные более чем из одной таблицы, чтобы получить нужные вам реляционные наборы). Berkeley DB очень быстрая, но она потребует больше работы с вашей стороны, чтобы получить максимум от нее.

4
ответ дан 30 November 2019 в 06:05
поделиться
[

] Я тоже предлагаю sqlite3. Он используется многими известными приложениями.[

]
2
ответ дан 30 November 2019 в 06:05
поделиться
[

] я не знаком с системой встраивания, но iphone use arm9, и [] sqlite [] в качестве DB [

].
1
ответ дан 30 November 2019 в 06:05
поделиться
[
    ] [
  • ][

    ]Firebird (ранее Interbase) утверждает, что хорошо работает встроенный язык.[

    ][
  • ] [
  • ][

    ]HypersonicQL (HQL) мал и быстр, а также утверждает, что подходит для использования во встроенном языке.[

    ][
  • ] [
] [

]Увы, у меня нет личного опыта для создания резервной копии любого из этих пунктов.[

]
6
ответ дан 30 November 2019 в 06:05
поделиться

Я бы остановился на SQLite, он широко поддерживается и довольно богат возможностями.

13
ответ дан 30 November 2019 в 06:05
поделиться

Newsletter 01-11-10 Embedded.com делает хорошую работу по охвату этой темы. Информационный бюллетень можно найти на Embedded.com: Embedded.com Tech Focus Newsletter (1-11-10): встраивает базы данных .

1
ответ дан 30 November 2019 в 06:05
поделиться

если вам нужна альтернатива, то стоит посмотреть berkeleydb . раньше он принадлежал программному обеспечению sleepycat, но теперь доступен от oracle. это базовый движок баз данных; является напрямую программируемым (а не sql) интерфейсом. он используется как часть основного механизма во многих основных базах данных и как база данных во многих встраиваемых устройствах - раньше он был особенно популярен для управления таблицами маршрутизации в маршрутизаторах. в наши дни на него часто не обращают внимания из-за более модных настройки, но я обнаружил, что он приличный, надежный и для тех цифр, о которых вы говорите, он может быть молниеносным.

3
ответ дан 30 November 2019 в 06:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: