2015-06-04 6 views
-2

Каков наилучший способ хранения и запроса данных для простого приложения управления задачами (например,?)? Цель состоит в том, чтобы обеспечить максимальную производительность при минимальном потреблении ресурсов (CPU, disk, RAM) для одного экземпляра EC2.Каков самый простой и быстрый способ хранения и запроса просто структурированных данных?

ответ

1

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

Что касается база данных SQL, interresting теста можно найти здесь:

тест показывает, что SQLite может быть во многих случаях очень быстро, но в некоторых случаях также неэффективен. (к сожалению, эталонный тест не является самым новым, но все же может оказаться полезным)

SQLite также хорош в том, что это всего лишь один файл на вашем диске, содержащий всю базу данных, и вы можете получить доступ к базе данных с использованием языка SQL.

Очень долго и изнурительных бенчмарк No-SQL можно найти например здесь:

Это также хорошо знать базы данных двигателей, то есть при использовании MySQL, тщательно выбирать между MyISAM и InnoDB (хороший ответ здесь What's the difference between MyISAM and InnoDB?).

Если вы просто хотите оптимизировать производительность, вы можете подумать об оптимизации с использованием аппаратных ресурсов (если вы много читаете из БД и у вас нет такого количества записей, вы можете кэшировать базу данных (innodb_cache_size) - если у вас есть достаточно оперативной памяти, вы можете прочитать всю базу данных из ОЗУ.

Итак, короткая история - если вы выбираете механизм для очень простой и небольшой базы данных, SQLite может быть минималистичным подходом, который вы хотите использовать. что-то большее, сначала ясность о ваших потребностях.

+0

Отличный ответ, спасибо. У меня есть SQLite в моем списке, я надеялся найти еще более легкие решения. Полномасштабный SQL - это излишество. –