Elemental is a NoSQL Database designed for working with documents. Working with documents is natural for humans, and so Elemental allows you to store, search, transform, and publish your content.
With Elemental you can store and organise your documents naturally into collections. Each collection may contain millions of documents and any additional files. By executing queries to retrieve either entire documents or fragments from your collections, you can gain new insight into your content, or go further by designing and executing transformations that repurpose or create new content.
Features
Document Oriented Storage
Content or Data is stored naturally as individual self-contained documents (typically in XML, JSON, HTML, or Text formats). Elemental provides a schema-less data model, which means that each of your documents can have as unique and free form a structure as you wish. This makes it very easy to enhance and enrich your documents as your needs evolve. But don't worry, we don't sacrifice on correctness! All of the tools that you might need to check and enforce the validity of your desired documents are built in.
Features
Fast and Standards Compliant
Elemental provides a variety of database indexing options to allow you to search millions of documents quickly. One of the most popular features is the ability to execute expressive queries that join structural and full-text search. Elemental is built on Open Standards, and includes implementations of the latest W3C standards for querying, transformation, and publishing (including: XPath and XQuery 3.1, XSLT 3.0, XSL-FO 2.0, and HTML 5).
Features
Designed for the Web and Integration
Elemental is designed for the Web, and therefore includes a built-in Web Server that allows access to your documents, queries, and transformations. Document and operation oriented Web APIs are already built-in (including: REST, WebDAV, and RPC). You can also easily (in XQuery or Java) add your own APIs that are built on top of our HTTP or REST API. You can choose to build entire Web Applications directly on top of Elemental using just W3C standards, or if you prefer, you can even integrate Elemental into your own application.
FEATURES AND CAPABILITIES
Comparison of Elemental
Elemental evolved from eXist-db, and also serves as a major component of FusionDB. We believe that Elemental is positioned between the eXist-db community project and the commercial enterprise oriented FusionDB.
COMPARE FEATURES
Features
eXist-db
Elemental
FusionDB
XPath and XQuery 3.1 Support
YES
84.16% compliance with the W3C XPath and XQuery Test Suite.
YES
84.44% compliance with the W3C XPath and XQuery Test Suite.
YES
92.16% compliance with the W3C XPath and XQuery Test Suite.
XSLT 3.0 Support
LIMITED
Provides an outdated version of Saxon HE (9.9.1-8) from 2020.
YES
Saxon HE, PE, and EE versions (12.5).
YES
Saxon HE, PE, and EE versions (12.5).
Full Text Search Support
NO
Provides an outdated version of Lucene (4.10.4) from 2015; accessed via proprietary extensions.
LIMITED
Lucene (9.12.1); accessed via proprietary extensions.
YES
Lucene (9.12.1); accessed via the W3C XQuery and XPath Full Text 3.0 standard.
Embedded Web Server
NO
Provides an End of Life version of Jetty (9.4.54), and Servlet 3.1 API from 2013.
LIMITED
Jetty 12.0.16, and Servlet 6.1 API.
YES
Jetty 12.0.16, with modern Asynchronous API.
Database Snapshots
NO
Not possible.
LIMITED
Available through additional sync-point extension when using Btrfs or ZFS file systems.
Elemental is available for all major platforms. We provide a quick install guide below to help you get started with Elemental.
All versions of Elemental are FREE and licensed as Fair Source. Elemental may be used in academic, non-commercial, and commercial applications in compliance with its license.
NOTE You must have the required version of Java installed before installing Elemental. If you need to download and install Java we recommend BellSoft Liberica Java.
1. Recommended - Download and Run the Windows Installer
The installer is the easiest way to install and setup a single version of Elemental on Windows.
2. or, Download and Unzip the Windows Distribution
If you wish to have multiple versions of Elemental installed, then instead of using the installer, you can simply download and unzip the Windows distribution to a location of your choice.
Elemental 7.1.0 - Windows Distribution (Requires Java 21)
Change to the directory where you unzipped Elemental:
C:\> cd elemental-7.1.0
To start Elemental, run startup.bat:
C:\elemental-7.1.0> bin\startup.bat
NOTE: HAVING TROUBLE?
If you are having trouble launching Elemental, please see our article on Troubleshooting.
All versions of Elemental are FREE and licensed as Fair Source. Elemental may be used in academic, non-commercial, and commercial applications in compliance with its license.
NOTE You must have the required version of Java installed before installing Elemental. If you need to download and install Java we recommend BellSoft Liberica Java.
1. Recommended - Download Elemental DMG for macOS
The DMG (Apple Disk Image) is the easiest way to install and setup a single version of Elemental on macOS.
In Finder, Double Click the downloaded DMG file to mount it.
In Finder, open the mounted Elemental volume.
Drag-and-drop the Elemental application into the Applications folder.
Click the Elemental application icon from within Applications folder to start Elemental.
2. or, Download and Untar the Unix Distribution
If you wish to have multiple versions of Elemental installed, then instead of using the installer, you can simply download and unzip the Unix distribution to a location of your choice.
Elemental 7.1.0 - Unix Distribution (Requires Java 21)
Change to the directory where you downloaded Elemental:
$ cd ~/Downloads
Untar Elemental:
$ tar jxvf elemental-7.1.0-unix.tar.bz2
Change into the Elemental directory:
$ cd elemental-7.1.0
To start Elemental, run startup.sh:
$ bin/startup.sh
NOTE: HAVING TROUBLE?
If you are having trouble launching Elemental, please see our article on Troubleshooting.
All versions of Elemental are FREE and licensed as Fair Source. Elemental may be used in academic, non-commercial, and commercial applications in compliance with its license.
NOTE You must have the required version of Java installed before installing Elemental. If you need to download and install Java we recommend BellSoft Liberica Java.
1. Download and Untar the Unix Distribution
Elemental 7.1.0 - Unix Distribution (Requires Java 21)
Change to the directory where you downloaded Elemental:
$ cd ~/Downloads
Untar Elemental:
$ tar jxvf elemental-7.1.0-unix.tar.bz2
Change into the Elemental directory:
$ cd elemental-7.1.0
To start Elemental, run startup.sh:
$ bin/startup.sh
NOTE: HAVING TROUBLE?
If you are having trouble launching Elemental, please see our article on Troubleshooting.
All versions of Elemental are FREE and licensed as Fair Source. Elemental may be used in academic, non-commercial, and commercial applications in compliance with its license.
1. Pull the Docker Image
All our Docker Images are produced for both amd64 and arm64 architectures and are published to Docker Hub under the evolvedbinary/elemental repository.
Our default Docker Images are minimal and stripped down for production use, if you require an image with a shell for testing or debugging purposes you can append -DEBUG to the Docker Tag.
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum.
AWS
AWS Client VPN with Manually Provisioned Certificates using Terraform
This is a brief explanation of how to use Terraform to setup an AWS CVPN (Client VPN) where the certificates (for VPN authentication) are manually provisioned by yourself and then uploaded into ACM (AWS Certificate Manager).
TERRAFORM
AWS Client VPN with Managed Certificates using Terraform
This is a brief explanation of how to use Terraform to setup an AWS CVPN (Client VPN) where the certificates (for VPN authentication) are entirely generated and managed by AWS.
Java
Processing Historical Dates
Phase 2 of Project Omega at TNA (The National Archives) commenced at the end of January 2021, and our first goal was to perform a large export of their Catalogue Records from their previous system, ILDB (Microsoft SQL Server), into our new pan-archival RDF data model. I previously discussed the tooling that we were building to enable such ETL (Extract Transform Load) processes.