1

Тема: Какую Базу данных выбрать

Есть цель сделать клон твиттера, и не знаю какую бд выбрать для этого. Сейчас набирают популярность nosql бд (Redis,Cassandra и т.д) за счет своей высокой производительности. Начал пробовать моделировать данные на базе redis'a но банально не смог выбрать последние записи нужных мне пользователей без дальнейших заморочек с ними... Потом обнаружил что у mysql есть таблица вида memory которая хранит данные в оперативной памяти, то есть также как и все хранилища виде пар ключ=значение. Что обеспечивает тоже не плохую производительность, но все же немного медленнее чем nosql решения, но зато можно спокойно моделировать сложные структуры данных. Также есть вопрос и по масштабируемости таких данных если выбрать вариант mysql memory. И также трата ресурсов оперативной памяти в пустую, то есть например есть 2 поля id_user и text. Необходимо ставить тип и максимальное значение этого поля. Поставить id_user - max 10 и text - max 140. То все посты с текстом менее 140 символов все ровно будут весить как будто там 140 символов... Как Вы думайте какой вариант лучше использовать? или может что - нибудь другое предложите?

2

Re: Какую Базу данных выбрать

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

3

Re: Какую Базу данных выбрать

А почему именно SQLite? Почему не mysql или nosql хранилища?

4

Re: Какую Базу данных выбрать

C nosql я не работал, поэтому ничего сказать не могу, а у SQLite чтение данных быстрее MySQL с таблицами типа MyISAM. Если есть желание что провести сравнительные тесты, то можно попробовать SQLite, как вариант.

5 (изменено: vanicon, 2012-05-12 17:30:19)

Re: Какую Базу данных выбрать

Установил SQLite, читает конечно он потрясающие на ровне с redis'om а то и получше, но вот запись очень уж долгая. Дольше чем в mysql, полазил в гугле и прочитал что так плохо записывает из за постоянного открытия и закрытия файла базы данных. Так как SQLite хранит базы в отдельном файле... Поставил в ручную открытия и закрытия после 1 млн цикла на запись прописалось все менее чем за 5 сек. При использовании индексов при каждой записи в таблицу по 100 тыс значений увеличивается времени записи, если первый раз он записывал за 12с то 10 раз запишет за 40-50с. Если индексы не использовать то записывается те же 100тыс от 8 до 15с. Стоит ли использовать индексы?

6

Re: Какую Базу данных выбрать

vanicon сказал:

Стоит ли использовать индексы?

Если будет выборка данных, то без индексов скорость упадет значительно. Я считаю, что индексы нужны. В остальном вы все правильно написали.