logo
首页技术栈工具库讨论
libgda
libgda
The GNOME-DB project aims to provide a free unified data access architecture to the GNOME project. GNOME-DB is useful for any application that accesses persistent data (not only databases, but data), since it now contains a pretty good data management API. For information, the http://live.gnome.org/ChooseLibgdaSQLite page lists key points regarding the usage of the Libgda library compared to SQLite, most of the argumentation being relevant for other databases as well. Starting with the 4.2 serie, GNOME-DB's production corresponds to the Libgda library which is mainly a database and data abstraction layer, and includes a GTK+ based UI extension, and some graphical tools: Libgda depends on the GLib (and integrates with it), and LibXML. Libgda's UI extension depends on GTK+ Libgda's graphical tools depend on GTK+ and optionally GooCanvas and GraphViz This site now refers to features which are available in the current version 5.2.x, except when specifically mentionning versions. The current stable version of Libgda is now 5.2.3, released on the 2015-06-12. Work is currently done on the next version, see the Roadmap. Features Libgda Here is a brief summary of Libgda's features, see also the detailed list of Libgda's features, or the Roadmap for the future versions. Libgda is a (relatively small) database access library: it is a wrapper like ODBC but with more features to access several database engines features a meta data extractor (to know all about database objects in a common way) comes with an SQL console application (like mysql, psql or sqlite3 consoles) relies on GLib, coded in C, its API is easy to use at the moment supports SQLite (and SQLCipher), MySQL, PostgreSQL, MSAccess, Berkeley Db (and is SQL extension), Oracle and JDBC (allows access to any database through a JDBC driver), work is in progress for other database types (such as Firebird). There is also a special feature which allows one to connect to a database hidden behind a web server (through specific PHP scripts) LGPL licensed for the libraries and GPL licensed for the tools Libgda's UI Extension Here is a brief summary of Libgda's UI Extension features: a set of data bound widgets to show and edit data directly in the database, some 'administrative' widgets for example to enter the connection parameters to open a connection.
judy
judy
What is Judy? Judy is a C library that provides a state-of-the-art core technology that implements a sparse dynamic array. Judy arrays are declared simply with a null pointer. A Judy array consumes memory only when it is populated, yet can grow to take advantage of all available memory if desired. Judy's key benefits are scalability, high performance, and memory efficiency. A Judy array is extensible and can scale up to a very large number of elements, bounded only by machine memory. Since Judy is designed as an unbounded array, the size of a Judy array is not pre-allocated but grows and shrinks dynamically with the array population. Judy combines scalability with ease of use. The Judy API is accessed with simple insert, retrieve, and delete calls that do not require extensive programming. Tuning and configuring are not required (in fact not even possible). In addition, sort, search, count, and sequential access capabilities are built into Judy's design. Judy can be used whenever a developer needs dynamically sized arrays, associative arrays or a simple-to-use interface that requires no rework for expansion or contraction. Judy can replace many common data structures, such as arrays, sparse arrays, hash tables, B-trees, binary trees, linear lists, skiplists, other sort and search algorithms, and counting functions. Detailed Descriptions A 10 minute technical description A 3 hour technical description, slightly out of date, and very corny. Author Judy was invented by Doug Baskins (dougbaskins .AT, yahoo.com) and implemented by Hewlett-Packard.