| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > Framework для разработки СУБД |
| Автор: otRock 18.1.2016, 20:51 |
| Появилось желание написать свою СУБД. По сути в этом вопросе не важен её функционал. Должна уметь работать только с кодировкой UTF-8, уметь масштабироваться, работа с датами, геоданными, геометрией - в общем не суть. Существующий аналог на Java не устраивает чрезмерным потреблением памяти. На си++ до этого писал только относительно небольшие GUI-программки используя Qt.. В Qt очень удобно работать с массивами, списками, сетью, строками.. Там всё это хорошо задокументированно и код легко читается. Будет ли разумно использовать Qt для создания кроссплатформенной высоконагруженной базы или стоит пойти по другому пути? Главная задача оставить производительность не ниже Java и существенно сократить потребление памяти. Подразумевается, что условия идеальны: я профи, код будет написан максимально правильно и оптимизировано Благодарю заранее! |
| Автор: xvr 19.1.2016, 17:23 |
Стоит взять готовую, https://www.sqlite.org/например, и не заниматься изобретением велосипедов |
| Автор: Alexeis 19.1.2016, 18:15 |
| otRock, написать производительный движок чертовски непростая задача. Из всевозможных решений такое решение я бы выбрал последним. Нужно просто взять движок написанный не на java, а на с/с++ и применить для своих целей. На счет Qt, не Qt это вообще вопрос ни о том. Qt использует сторонний компилятор C++, так что наилучший результат будет такой какой позволит сделать компилятор С++ и скорее всего будет ограничиваться естественной кривизной рук разработчика, поэтому по скорости будет уступать большинству известных решений. |
| Автор: otRock 20.1.2016, 15:54 |
| xvr, спасибо за совет, но мне такое решение не подходит. Задачу поставил, можно сказать, в академических целях, да и совсем не про SQL идёт речь. Alexeis, благодарю. Понял что Qt совсем тут не нужен, буду делать своими силами. |
| Автор: Alexeis 21.1.2016, 00:47 |
Вообще-то, я имел ввиду, что Qt генерит код С++, поэтому скорость работы кода на Qt такая же как у С++. Можно рассуждать о скорости работы отдельных классов, но не Qt в целом. Например контейнеров QStringList,QVector и т.д. или сигналов или там QFile, что еще может понадобиться. |
| Автор: otRock 22.1.2016, 17:42 |
| borisbn, не sql, база не реляционная, да и не совсем база данных.. Скорее смесь бд и поискового движка по документам.. Естественно я понимаю на сколько это масштабная затея, но меня это не останавливает ибо сроков нет и чисто спортивный интерес |