Я планирую разработать веб-приложение, для которого мне нужно определить «тип» моей системы баз данных. Я планирую разработать веб-приложение на Django / Python.
Мое приложение будет содержать только одну таблицу с 'n' растущими (порядка миллионов) записями и столбцами 'k' (1-100). К сожалению, я не могу контролировать количество «k», а именно. размер 'k' может увеличиваться / уменьшаться с течением времени (хотя между 1-100). Я не хотел бы иметь компромисс по производительности.
Какой тип базы данных мне следует использовать? Мои начальные реакции следующие:
- MySQL: я бы хотел избежать этой опции
- Redis: хороший вариант, но магазин (ключ, значение) не подходит под мой счет
- Базы данных XML: выглядит хорошо для этой задачи, но дает ли она желаемую производительность?
- Объектно-ориентированная реляционная база данных: я не уверен в этом
Редактировать
Особые требования:
Чтобы выполнить поиск по k-столбцам и получить подмножество 'n' записей. Я планирую предоставить API REST, похожий на Twitter или Facebook.
Например, http://api.twitter.com/1/users/show.json?screen_name=Ashton. Если бы это было то, что я планирую реализовать, имя экрана будет одним из столбцов. Точно так же могут быть другие параметры, основанные на других столбцах, например user_id, количество друзей и т. Д.