Я хочу расширить приложение WPF функциональностью базы данных. Какой движок базы данных вы бы посоветовали и почему? SQLite, SQL CE, другое?





В зависимости от используемых приложений, Я бы рекомендовал использовать SQL Lite, потому что он не требует установки какого-либо другого программного обеспечения (SQL CE или Express и т. д. Обычно требует отдельной установки).
Список наиболее важных преимуществ SQL Lite по ссылке поставщика внизу этого сообщения:
SQLite is a small C library that implements a self-contained, embeddable, zero-configuration SQL database engine. Features include:
- Zero-configuration - no setup or administration needed.
- Implements most of SQL92. (Features not supported)
- A complete database is stored in a single disk file.
- Database files can be freely shared between machines with different byte orders.
- Supports databases up to 2 terabytes (2^41 bytes) in size.
- Small code footprint: less than 30K lines of C code, less than 250KB code space (gcc on i486)
- Faster than popular client/server database engines for most common operations.
- Simple, easy to use API.
- Self-contained: no external dependencies.
- Sources are in the public domain. Use for any purpose.
Поскольку вы используете WPF, я могу предположить, что вы используете как минимум .NET 3.0. Затем я бы порекомендовал перейти на .NET 3.5 SP1 (тот же размер, что и у .NET 3.5, но включает несколько улучшений производительности), который включает LINQ.
Однако при использовании SQLite вы можете использовать следующий поставщик SQLite, который должен обеспечивать поддержку LINQ: Поставщик ADO.NET с открытым исходным кодом для ядра СУБД SQLite.
Согласно тестам производительности (codeproject.com/Articles/220131/…) SQL Lite вовсе не быстрее! Вы должны удалить маркер из списка, чтобы не вводить людей в заблуждение.
Ссылка на поставщика ADO.NET с открытым исходным кодом для ядра базы данных SQLite больше не существует
@BradLeach Конечно, SqlCE требует отдельной установки. Это просто быстро и просто.
SQL Server Compact Edition не требует установки нет, поскольку он может быть доставлен вместе с вашим приложением в частном порядке. Мы используем этот подход, чтобы исключить его из списка «Установка и удаление программ». erikej.blogspot.com/2011/02/…
Производительность с 2017: diericx.net/post/benchmark-embedded-dotnet-databases
Я согласен с тем, что SQLite - это то, что нужно. Subsonic 2.1 теперь также включает поддержку SQLite.
SQLite - действительно хороший продукт, хотя мне не хватает функций PostgreSQL. Существуют и другие базы данных, особенно не SQL, например Berkeley DB.
/ Аллан
Чтобы выразить иное мнение, мы использовали SQL Compact Edition в течение последнего года и в целом остались довольны. Конфигурация проста и очень похожа на обычную базу данных MS SQL. Не хватает чего-то, например триггеров и хранимых процедур, но в SQL 3.5 CE есть практически все, что нам нужно. Для установки требуется около 2 МБ .dll. Он предлагает шифрование базы данных, транзакции и поддерживает конструктор типизированных наборов данных VS (в версии 3.1 были некоторые проблемы, но CE 3.5 великолепен!).
Я использовал SQL Compact Edition со своим приложением WPF, и я доволен своим решением. Все просто работает (поскольку WPF и SQLCE - это MS, они прекрасно работают вместе), а установка среды выполнения достаточно мала и достаточно плавна для моих нужд. Я создал и модифицировал базу данных через визуальную студию.
Библиотеки DLL SQL CE могут быть упакованы в ваше собственное приложение и не требуют отдельной установки. Но MS предоставляет установочный пакет по умолчанию, если вы не хотите узнавать об установке ... и т. д.
Более того, SQL CE поддерживает частное развертывание.
SQL Server Compact Edition не требует отдельной установки. Как и SQL Lite, эта база данных представляет собой один файл.