Написание СУБД на Python - PullRequest
       23

Написание СУБД на Python

2 голосов
/ 16 апреля 2010

Я работаю над базовой СУБД в качестве любимого проекта и планирую создать прототип на Python.

Я полагаю, что есть причина, по которой есть только несколько баз данных Python, и моя интуиция согласна, что мой любимый язык будет слишком медленным, чтобы выступать в качестве честной базы данных, но я с нетерпением жду его использования, чтобы узнать, что мне нужно быстро.

Кто-нибудь, пожалуйста, противоречит мне? Является ли сейчас Python неподходящим для такого рода вещей, как я думаю?

РЕДАКТИРОВАТЬ 4 / 16-

Я отправил еще один вопрос о начале работы над этим проектом, если кому-то интересно. (нереляционный) ресурс проектирования СУБД

Ответы [ 2 ]

4 голосов
/ 17 апреля 2010

Сомнительно, что все, что вы создадите в качестве любимого проекта, окажется популярным. Предположительно, вы в основном делаете это как учебный опыт и для развлечения.

Учитывая эти факты, нет причин останавливать себя так рано только потому, что вы думаете, что там может быть проблемами производительности. Просто сделай это и повеселись с этим. Идея чистой базы данных Python будет, по крайней мере, интересна для других.

Вы всегда можете выполнить профилирование производительности, чтобы найти узкие места и использовать обычные подходы для ускорения процесса (CPython, Cython, ctypes и т. Д.)

Не спешите сбрасывать со счетов огромные преимущества Python, которые вы получаете в обмен на снижение производительности. А именно быстрое развитие.

1 голос
/ 16 апреля 2010

Если производительность не так важна, нет никаких причин, по которым Python не может делать то, что вам нужно, у него наверняка есть все инструменты для этого. Разумеется, разработка базы данных не является тривиальным делом, но при условии, что у вас есть ноу-хау и Python-fu, чтобы вставить все, что вам нужно (конечно, нам всем здесь, в SO;) помогают все основные строительные блоки.

Для справки, есть хотя бы одна СУБД, написанная на чистом Python, о которой я знаю: KirbyBase

...