какой базы данных пойти на крошечные требования к данным - PullRequest
2 голосов
/ 27 марта 2012

Мне нужна помощь в выборе баз данных для моего приложения.

Мое веб-приложение в основном будет состоять из основной таблицы.давайте назовем это таблицей «Пользователь».он будет иметь информацию о пользователе, такую ​​как имя, идентификатор, пароль, адрес, телефон и т. д. Там будет 5 других связанных таблиц, где я буду сохранять информацию о каждом пользователе.например.Таблица для прочитанных книг, Таблица для услышанных песен, Еда и т. Д.

В целом, я не ожидаю, что мои данные превысят 1000 пользователей.Итак, у меня есть крошечные требования к данным.В общем, я бы пошел с MySQL, но я чувствую себя немного авантюрным.Я хочу попробовать некоторые из новых решений на блоке.мои требования: 1. чистая производительность 2. хорошая документация, простота использования

, поскольку мой размер в БД не должен превышать несколько сотен мегабайт, я бы предпочел все табличное пространство в самой памятидля более быстрой работы.Как насчет некоторых из новых баз данных NoSQL.

какие-либо рекомендации?Я работал в основном над оракулом и MySQl и не очень разбираюсь во всех новых интересных вещах.

Ответы [ 4 ]

4 голосов
/ 27 марта 2012

Я бы предложил использовать sqlite, если ваша база данных мала.

С сайта sqlite:

SQLite - это компактная библиотека. Со всеми включенными функциями библиотека размер может быть менее 350 КБ, в зависимости от целевой платформы и настройки оптимизации компилятора. (64-битный код больше. И некоторые оптимизации компилятора, такие как агрессивное встраивание функций и цикл развертывание может привести к тому, что объектный код будет намного больше.) Если необязательно функции опущены, размер библиотеки SQLite может быть уменьшен ниже 200 КБ. SQLite также можно заставить работать в минимальном стековом пространстве (4 КБ) и очень небольшой кучи (100 КБ), что делает SQLite популярной базой данных выбор движка для устройств с ограниченным объемом памяти, таких как мобильные телефоны, КПК, и MP3-плееры. Существует компромисс между использованием памяти и скоростью. SQLite обычно работает быстрее, чем больше памяти вы даете. Тем не менее, производительность, как правило, довольно хорошая, даже при нехватке памяти окружающая среда.

2 голосов
/ 28 марта 2012

Объектно-ориентированные БД могут использоваться как db4o или версии.

1 голос
/ 20 апреля 2012

Я думаю redis это именно то, что вы хотите!

Вчера я скачал и установил его впервые. Он работает полностью в памяти и соответствует вашим требованиям к производительности. (Он записывает данные на диск только в случае сбоя питания или резервного копирования, но это не замедляет запись в него.)

Для Linux и тому подобного есть tar.gz на странице загрузки.

Для Windows вы можете загрузить собственный порт Dusan: http://redis.io/download - он предварительно скомпилирован и имеет клиентскую консоль для тестирования.

Документация очень хорошая, например, это страница для типов данных: http://redis.io/topics/data-types, и вы также найдете всю другую соответствующую информацию в качестве быстрого для просмотра там ссылки.

И есть хороший онлайн-учебник для быстрого начала работы: http://try.redis -db.com / , с которым действительно интересно работать.

Мне нравятся атомарные операции, такие как "приращение на" и структуры списка с push и pop.

Существует также тип хэша.

Для питона есть redis-py: https://github.com/andymccurdy/redis-py

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

1 голос
/ 27 марта 2012

Neo4j (для Java) - довольно крутой инструмент.Технически это графическая база данных, но, судя по звукам вашей модели данных, я думаю, она подойдет вам.Из того, что я видел, он работает очень хорошо, его документация была просто невероятно хороша, а если вы используете Java, то это как вторая натура.Вы в основном указываете на каталог, и он создает там магазин.

Если вы чувствуете себя предприимчивым и используете Java, я советую вам попробовать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...