Mulgara FAQ
What is Mulgara?
MulgaraTM is an Open Source, massively scalable, transaction-safe, purpose-built database for the storage and retrieval of metadata.
Much like a relational database, one stores information in Mulgara and retrieves it via a query language. Unlike a relational database, Mulgara is optimized for the storage and retrieval of many short statements (in the form of subject-predicate-object, like "Mulgara is fun" or "Mulgara imports RDF"). Mulgara is not based on a relational database due to the large numbers of table joins encountered by relational systems when dealing with metadata. Instead, Mulgara is a completely new database optimized for metadata management.
Mulgara is a fork of the Kowari project. The Mulgara fork commenced work in July 2006.
Available Versions
A complete version of Mulgara is available as a source download. This version requires knowledge of JavaTM development to build. A smaller version containing only core components is also available - Mulgara LiteTM. More information is available below.
Mulgara Lite
Kowari 1.0.2 introduced a new "lite" version. This is available as a binary download below. Mulgara Lite is not a complete Mulgara distribution - it only includes core components - nor is it a binary distribution in the conventional sense. Mulgara Lite is available in binary format only and is aimed at developers wanting a smaller footprint datastore without additional functionality.
Mulgara Lite includes the core APIs - iTQL, RDQL, JRDF, Jena, CLI, etc. - but does not include additional tools such as Descriptors or SOAP bindings. Removing these components from the distribution reduces the file size dramatically.
Is Mulgara secure?
The commercial code that Mulgara and Kowari were originally based on, contained both transport layer security (SSL/TLS), and store level authentication and authorization. The open source releases of Kowari and Mulgara contain no security infrastructure.
Operating systems
Mulgara will run on operating systems that support Java 1.5 and above. It has been tested for use on SunTM SolarisTM, Debian and RedHat versions of Linux®, and Microsoft® Windows NT® and Windows® 2000 and XP. Mulgara also runs on Mac OS® 10.2 or higher. Mac OS X is the platform used by most of the developers.
Hardware
Mulgara may be deployed on standard personal computers based on a 32-bit architecture (e.g. Intel® Pentium® II or III processors and 64 MB of memory) or midrange servers utilizing 32 or 64-bit architectures (e.g. Sun EnterpriseTM, CobaltTM or NetraTM range of servers). Mulgara can explicitly take advantage of 64-bit architectures when they are available to it.
Technologies
Mulgara is implemented in the Java programming language and is 100% Java. It depends on standard Java packages available from Sun MicrosystemsTM. Mulgara also includes Java code from other projects. Details may be found on the Legal page.
Relational databases
Mulgara is not implemented on top of a relation database such as an Oracle® database or Microsoft SQL Server. It is a new type of database, optimized from the ground up for the storage and management of metadata. More information can be found on the Overview page.
General purpose databases may hold any type of data. Metadata, on the other hand, is held in a particular form of short subject-predicate-object statements. By optimizing Mulgara for this type of data, great efficiencies may be realized. Relational databases are excellent for storing data where the schema is well defined and stable and the type of queries are unlikely to change. Data warehouses attempt to work around these limitations by indexing all data, but they are expensive and used for non-transactional operations. Large metadata stores must be able to have full transactional capabilities on rapidly changing data structures.
Object databases create an object for each metadata statement, resulting in very large memory requirements and slow processing. Metadata stores often hold huge numbers of small metadata statements, making them particularly unsuited to OO databases.
XML databases store hierarchical and ordered data; metadata is neither. Most vendors of XML databases base their product on OO or relational databases and hence suffer some of the same problems.
Mulgara and RDF
Mulgara implements many of the W3C's Semantic Web concepts (see http://www.w3c.org/2001/sw and http://www.w3.org/RDF/ for more details). Mulgara models hold metadata in the form of short subject-predicate-object statements, much like the W3C's Resource Description Framework (RDF) standard. Metadata may be imported into or exported from Mulgara in RDF or N3 form.
Applications built with Mulgara
Mulgara has been used as the basis for several commercial activities including data mining activities and litigation support services.
Building applications with Mulgara
Developers can use, extend or modify Mulgara components via a wide range of APIs.
Available APIs
- Jena
- JRDF
- Interactive user (command line) shell
- Web-based query interface
- SOAP
- iTQL JavaBeanTM
- Descriptors (transform metadata to XML, HTML, etc. using XSLT)
Downloading
Information on downloading Mulgara in source form can be found on the Downloads page. Mulgara binaries are not currently available.
Installation
Information on installing Mulgara is available in the documentation.
Running Mulgara
More information on running Mulgara will be available shortly.
What is a Mulgara?
The mulgara is a small carnivorous marsupial weighing about 130 g (4.6 oz). It is found in the deserts of central and Western Australian. The mulgara's diet consists of insects, arachnids, and small vertebrates such as rodents. It does not need to drink water - it gets all of the moisture it needs from its food. Mulgara are primarily nocturnal, probably more so in the summer to avoid the heat; however some mulgara will enjoy the sun on warmer winter days. Breeding season occurs during the winter months. It is believed that gestation lasts for at least one month. A single littler can produce up to eight young. They are closely related to the Kowari.
Source: http://www.australianfauna.com/mulgara.php.
A picture can be found here.
How do I pronounce it?
Mulgara is pronounced in three syllables - Mul-garr-ra; Mul - as in "mull", garr - as in "car", ra - as in "huh".