Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Door , , 11 reacties
Bron: SQLite

Sqlite is een compact, in c ontwikkeld databasesysteem en kan gebruikt worden als database voor onder meer websites en embedded applicaties. Volgens de ontwikkelaars van Sqlite heeft het databasesysteem geen installatie en administratie nodig, ondersteunt het databases tot een omvang van twee terabyte en wordt een volledige database opgeslagen in één bestand. Verder ondersteunt het bijna de volledige Sql92-specificatie en is het eenvoudig aan te sturen via onder andere Tcl/Tk. De ontwikkelaar heeft enkele dagen geleden versie 3.6.4 de deur uitgedaan met de volgende lijst van aanpassingen:

Version 3.6.4:
  • Add option support for LIMIT and ORDER BY clauses on DELETE and UPDATE statements. Only works if SQLite is compiled with SQLITE_ENABLE_UPDATE_DELETE_LIMIT.
  • Added the sqlite3_stmt_status() interface for performance monitoring.
  • Add the INDEXED BY clause.
  • The LOCKING_STYLE extension is now enabled by default on Mac OS-X
  • Added the TRUNCATE option to PRAGMA journal_mode
  • Performance enhancements to tree balancing logic in the B-Tree layer.
  • Added the source code and documentation for the genfkey program for automatically generating triggers to enforce foreign key constraints.
  • Added the SQLITE_OMIT_TRUNCATE_OPTIMIZATION compile-time option.
  • The SQL language documentation is converted to use syntax diagrams instead of BNF.
  • Other minor bug fixes
Version 3.6.3:
  • Fix for a bug in the SELECT DISTINCT logic that was introduced by the prior version.
  • Other minor bug fixes
Version 3.6.2:
  • Split the pager subsystem into separate pager and pcache subsystems.
  • Factor out indentifier resolution procedures into separate files.
  • Bug fixes
Version 3.6.1:
  • Added the lookaside memory allocator for a speed improvement in excess of 15% on some workloads. (Your mileage may vary.)
  • Added the SQLITE_CONFIG_LOOKASIDE verb to sqlite3_config() to control the default lookaside configuration.
  • Added verbs SQLITE_STATUS_PAGECACHE_SIZE and SQLITE_STATUS_SCRATCH_SIZE to the sqlite3_status() interface.
  • Modified SQLITE_CONFIG_PAGECACHE and SQLITE_CONFIG_SCRATCH to remove the "+4" magic number in the buffer size computation.
  • Added the sqlite3_db_config() and sqlite3_db_status() interfaces for controlling and monitoring the lookaside allocator separately on each database connection.
  • Numerious other performance enhancements
  • Miscellaneous minor bug fixes
Version 3.6.0 beta:
  • Modifications to the virtual file system interface to support a wider range of embedded systems. See 35to36.html for additional information. *** Potentially incompatible change ***
  • All C-preprocessor macros used to control compile-time options now begin with the prefix "SQLITE_". This may require changes to applications that compile SQLite using their own makefiles and with custom compile-time options, hence we mark this as a *** Potentially incompatible change ***
  • The SQLITE_MUTEX_APPDEF compile-time option is no longer supported. Alternative mutex implementations can now be added at run-time using the sqlite3_config() interface with the SQLITE_CONFIG_MUTEX verb. *** Potentially incompatible change ***
  • The handling of IN and NOT IN operators that contain a NULL on their right-hand side expression is brought into compliance with the SQL standard and with other SQL database engines. This is a bug fix, but as it has the potential to break legacy applications that depend on the older buggy behavior, we mark that as a *** Potentially incompatible change ***
  • The result column names generated for compound subqueries have been simplified to show only the name of the column of the original table and omit the table name. This makes SQLite operate more like other SQL database engines.
  • Added the sqlite3_config() interface for doing run-time configuration of the entire SQLite library.
  • Added the sqlite3_status() interface used for querying run-time status information about the overall SQLite library and its subsystems.
  • Added the sqlite3_initialize() and sqlite3_shutdown() interfaces.
  • The SQLITE_OPEN_NOMUTEX option was added to sqlite3_open_v2().
  • Added the PRAGMA page_count command.
  • Added the sqlite3_next_stmt() interface.
  • Added a new R*Tree virtual table
Versienummer:3.6.4
Releasestatus:Final
Besturingssystemen:Windows 9x, Windows NT, Windows 2000, Linux, BSD, Windows XP, DOS, macOS, Solaris, UNIX, Windows Server 2003, Windows Vista
Website:SQLite
Download:http://www.sqlite.org/download.html
Licentietype:Voorwaarden (GNU/BSD/etc.)
Moderatie-faq Wijzig weergave

Reacties (11)

Een goed alternatief voor MySql en goed ondersteuning door PHP http://nl3.php.net/sqlite
een "goed alternatief" is natuurlijk geheel afhankelijk van de situatie. Bij kleinere simpele databases ben ik inderdaad voorstander van SQLite, omdat je hiermee snel en portable aan de slag kunt zonder meteen DBD's op te zetten. MySQL daarentegen heeft weer leuke features die niet aanwezig zijn bij SQLite, en vooral bij grotere projecten en websites is goed gebruik maken van bepaalde features bijna noodzaak.

Verder hoop ik dat de maker van SQLite d'r nog eens aan toe komt (tenzij het de bedoeling is dit helemaal nooit te doen) om de 'DESCRIBE' SQL-op te implementeren, dan zou m'n ORM die ik nu ism MySQL gebruik ook nog ns voor kleinere projecten nuttig kunnen zijn.
Kun je daar niet PRAGMA voor gebruiken? PRAGMA table_info(table) geeft je een resultset met informatie over de columns in de table, etc.

[Reactie gewijzigd door JanDM op 21 oktober 2008 10:19]

Je hebt helemaal gelijk, die optie was me nooit opgevallen, en is exact wat ik zocht!. Bedankt :)
SQLite is een goed alternatief, zolang je een lage concurrency hebt op je website en zolang je niet multi-user wilt gaan werken.

Verder worden foreign key constraints e.d. niet afgdwongen door SQLite en zijn er nog wel meer beperkingen (geen PL/SQL of SQL/PSM achtige taal bijvoorbeeld)
Firefox maakt toch ook gebruik van SQLite?
Ja. Apple gebruikt het ook in Mac OS X voor oa Apple Mail, Safari en op de iPhone en iPod Touch. Adobe gebruikt Sqlite in Photoshop Lightroom, Adobe Reader en AIR. Google gebruikt het voor Android en Gears. Sqlite komt ook mee met Python, Skype, McAfee, PHP, Solaris en Symbian-telefoons. Philips heeft MP3-spelers die gebruik maken van een Sqlite database. En zelfs Microsoft schijnt het te gebruiken :) bron

[Reactie gewijzigd door JanDM op 21 oktober 2008 09:28]

Op andere plaatsen wordt echter weer van Sqlite af gestapt. Zo is Amarok recent over gestapt naar MySql embedded, voornamelijk omdat de performance daarvan veel beter is (in elk geval voor hun toepassing).

[Reactie gewijzigd door ATS op 21 oktober 2008 12:02]

Toch denk ik niet dat een Applicatie als Firefox van SQLite af zal stappen. SQLite is namelijk Public Domain en dus compatible met MPL/GPL/LGPL en dat zal MySQL embedded niet zijn....

Verder is de footprint van SQLite <300KiB en dat is ook belangrijk voor een programma als Firefox. En zolang je niet overdreven aan transacties e.d. doet is SQLite een heel erg mooie oplossing...
Dit staat bij de windows versie:
"This is a DLL of the SQLite library without the TCL bindings. The only external dependency is MSVCRT.DLL."
Het is al enkele maanden geleden dat ik nog gekeken heb voor een nieuwe versie van SQLite, maar ik meen mij niet te herinneren dat die een dependency had. Imho toch wel een minpunt...
Op zich niet vreemd dat sqlite.dll msvcrt.dll nodig heeft, dat is nml een standaard C runtime bibliotheek voor Windows. Op linux heeft sqlite glibc nodig, wat op dat platform de standard C library is.

Op dit item kan niet meer gereageerd worden.



Apple iOS 10 Google Pixel Apple iPhone 7 Sony PlayStation VR AMD Radeon RX 480 4GB Battlefield 1 Google Android Nougat Watch Dogs 2

© 1998 - 2016 de Persgroep Online Services B.V. Tweakers vormt samen met o.a. Autotrack en Carsom.nl de Persgroep Online Services B.V. Hosting door True