В момента се опитвам да избера доставчик на база данни.
Просто търся някои лични мнения от колеги разработчици на бази данни.
Въпросът ми е специално насочен към хора, които:
1) са използвали база данни на основната памет (MMDB), която поддържа репликиране на диск (хибридно) преди (т.е. ExtremeDB а>)
or
2) са използвали Versant Object Database и/или Objectivity Database и/или Progress ObjectStore
и въпросът наистина е: ако можете да препоръчате доставчик на база данни, въз основа на вашия опит, това би подхождало на моето приложение.
Моето приложение е комерсиално приложение в реално време (да се чете: с висока производителност) обектно-ориентирано C++ GIS приложение, където трябва да извършим много търсене по ширина/дължина (т.е. дадена област, намиране на всички съвпадащи цели в зоната). ..R-дървовиден индекс).
Типовете данни, които бих искал да съхранявам в базата данни, са моделирани като обекти и използват std::list и std::vector, така че естествено, Object Database изглежда има смисъл. Прочетох достатъчно статии, за да се убедя, че традиционната RDBMS вероятно не е това, което наистина търся по отношение на
- производителност (съединения или множество таблици за данни с динамична дължина като списък/вектор)
- лекота на програмиране (несъответствие на импеданса)
Въпреки това, по отношение на производителността,
Входните данни се подават в системата с около 40 MB/s.
Следователно системата също така ще извършва вмъкване в базата данни със скорост от приблизително 350 вмъквания в секунда (където всеки обект варира от 64KB до 128KB),
- Базата данни ще бъде последователно търсена и актуализирана чрез множество нишки.
Доколкото разбирам, всички обектни бази данни, които изброих тук, използват кеш за съхраняване на обекти на база данни. ExtremeDB твърди, че тъй като е проектиран специално за памет, може да избегне претоварването на логиката за кеширане и т.н. Вижте повече чрез гугъл: Основна памет срещу RAM-диск Бази данни: Базиран на Linux тест
Така че...просто съм малко объркан. Могат ли Object DB да се използват в система в реално време? Толкова ли е "бързо" като MMDB?