Преимущества sqlite3 по сравнению с CouchDB для такого приложения, как персональный ридер? - PullRequest
3 голосов
/ 17 февраля 2011

Скажем, я хотел создать программу чтения каналов, которая загружает каналы RSS и Atom на ваш локальный компьютер и позволяет просматривать их локально.Каковы соответствующие преимущества и недостатки использования CouchDB или sqlite3 в качестве хранилища данных для такого приложения?

Ответы [ 2 ]

16 голосов
/ 18 февраля 2011

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

SQLite - это база данных SQL, в которой хранятся отношения (таблицы).

CouchDB - это база данных NoSQL, в которой хранятся документы JSON (объекты любой структуры).

SQLite имеет схемы.

CouchDB не содержит схем.

SQLite isбиблиотека, которую вы связываете с вашим приложением и используете C API.

CouchDB - это веб-служба RESTful, а его API - HTTP и JSON.

SQLite не имеет понятия сети.

CouchDB в основном является высокопроизводительным веб-сервером.

SQLite написан на C.

CouchDB написан на Erlang.

Какие из них являются преимуществами и недостатками?Это зависит от вас.;) Удачи.

4 голосов
/ 18 февраля 2011

Хорошее резюме от rsp.Не зная больше о ваших требованиях, трудно сказать, какой из них лучше подходит для вашего случая использования.Одно очевидное преимущество, которое обеспечивает SQLite, заключается в более простой установке и администрировании.Как библиотека, она связана с вашим приложением и устанавливается вместе с вашим приложением.Нет отдельной базы данных для установки и настройки.Это одна из функций, которая делает библиотеки баз данных, такие как SQLite и Berkeley DB, очень привлекательными и, возможно, предпочтительнее серверов баз данных.

Просто добавьте к вашему списку соображений, Berkeley DB и Berkeley DB Java Edition также библиотеки библиотек, которые вы можете рассмотреть.Berkeley DB (написано на C) предлагает вам выбор использования API-интерфейса пары ключ-значение без схемы, Java-API, подобного POJO, или SQLite-совместимого SQLite API.Berkeley DB Java Edition (100% Java) предлагает вам API Java для пар ключ-значение, коллекций Java или POJO-подобной персистентности объектов.Berkeley DB и SQLite, как правило, являются продуктами выбора для людей, которые ищут встраивание функций управления данными в свои приложения.

Отказ от ответственности: я менеджер по продукту в Berkeley DB, поэтому я немного предвзят.: -)

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