What is InfiniteGraph? InfiniteGraph is an enterprise distributed graph database implemented in Java, and is from a class of NOSQL (or Not Only SQL) database technologies that focus on graph data structures. Developers use Infinitegraph to find useful and often hidden relationships in highly connected big data sets.
API/Protocols: Java (core C++)
Graph Model: Labeled directed multigraph. An edge is a first-class entity with an identity independent of the vertices it connects.
Backup, including online incremental backup and full restore.
Concurrency: Update locking on subgraphs, concurrent non-blocking ingest.
Consistency: Flexible (from ACID to relaxed).
Distribution: Lock server and 64-bit object IDs support dynamic addressing space (with each federation capable of managing up to 65,535 individual databases and 10^24 bytes (one quadrillion gigabytes, or a yottabyte) of physical addressing space).
Query Methods: Traverser and graph navigation API, predicate language qualification, path pattern matching.
Parallel query support.
Schema: Supports schema-full plus provides a mechanism for attaching side data.
Transactions: Fully ACID.
Tinkerpop Blueprints and Gremlin support.
Talend output connector to InfiniteGraph.
Source: Proprietary, with open source extensions, integrated components, and third party connectors.
License Options: Flexible pricing and license options.
Platforms: Windows, Linux, and Mac with full interoperability.
The Zope Object Database (ZODB) is an object-oriented database for transparently and persistently storing Python objects. It is included as part of the Zope web application server, but can also be used independently of Zope.
Because ZODB is an object database:
no separate language for database operations
very little impact on your code to make objects persistent
no database mapper that partially hides the database.
Using an object-relational mapping is not like using an object database. almost no seam between code and database.
The Zope Foundation is an organization that promotes the development of the Zope platform by supporting the community that develops and maintains the relevant software components. The community includes both open source software, documentation and web infrastructure contributors, as well as business and organization consumers of the software platform. It manages the zope.org websites, an infrastructure for open source collaboration.
Plone uses the ZODB database. The ZODB happily stores any Python object with any attributes — there is no need to write database schema or table descriptions as there is with SQL-based systems. If data models are described somehow the descriptions are written in Python, usually using zope.schema package.
Multi-Model: Documents, graphs and key-value pairs — model your data as you see fit for your application. Joins: Conveniently join what belongs together for flexible ad-hoc querying, less data redundancy. Transactions: Easy application development keeping your data consistent and safe. No hassle in your client.
ArangoDB is to use the arangoimp command-line tool. arangoimp allows you to import data records from a file into an existing database collection.
ArangoDB provides scalable, highly efficient queries when working with graph data.The database uses JSON as a default storage format, but internally it uses ArangoDB's VelocyPack - a fast and compact binary format for serialization and storage.ArangoDB can natively store a nested JSON object as a data entry inside a collection. Therefore, there is no need to disassemble the resulting JSON objects.
MarkLogic is an operational and transactional Enterprise NoSQL database that integrates data better, faster, with less cost. MarkLogic is a single product that combines features of a highly distributed NoSQL database, a search engine, all with application services layered over the top. In MarkLogic the search engine is part of the same product. Thus you don’t need to ‘bolt on’ a third party product with all the integration code and separate update schedules that implies. Also, MarkLogic uses the same underlying indexes for simple primary/secondary key fetching of documents (a la database access) as it does for use by the search engine. Thus MarkLogic is more frugal on disc requirements for indexes.
Everything in MarkLogic is stored as compressed binary trees – NOT as raw documents – not even simply as gzipped documents – so MarkLogic saves disc space over alternatives. MarkLogic storing documents with an average (say 5-15) range indexes will effectively use the same amount of disc space – for data plus indexes – as the raw document. This is part of our secret sauce, and the algorithms are patented.
What is Amazon DynamoDB? Amazon DynamoDB is a fully managed NoSQL database service that provides fast and predictable performance with seamless scalability. ... With DynamoDB, you can create database tables that can store and retrieve any amount of data, and serve any level of request traffic.
Amazon DynamoDB Accelerator (DAX) is a fully managed, highly available, in-memory cache that can reduce Amazon DynamoDB response times from milliseconds to microseconds, even at millions of requests per second.
Forrester Research positions Amazon Web Services in the Leaders Category of the Forrester Wave Big Data NoSQL, Q3. According to Forrester, Amazon DynamoDB is the most popular NoSQL cloud database. Learn why DynamoDB has proven to be a cost-effective NoSQL database solution for three organizations interviewed by IDC.
DynamoDB exposes performance metrics that helps provision it correctly and to keep applications using DynamoDB running smoothly:
Metrics related to Global Secondary Index creation
The DynamoDB Triggers feature integrates with AWS Lambda to allow a developer to code actions based on updates to items in a DynamoDB table, such as sending a notification or connecting a table to another data source. The developer associates a Lambda function, which stores the logic code, with the stream on a DynamoDB table. AWS Lambda then reads updates to a table from a stream and executes the function.
Couchbase Server, originally known as Membase, is an open-source, distributed (shared-nothing architecture) multi-model NoSQL document-oriented database software package that is optimized for interactive applications. These applications may serve many concurrent users by creating, storing, retrieving, aggregating, manipulating and presenting data. In support of these kinds of application needs, Couchbase Server is designed to provide easy-to-scale key-value or JSON document access with low latency and high sustained throughput. It is designed to be clustered from a single machine to very large-scale deployments spanning many machines. A version originally called Couchbase Lite was later marketed as Couchbase Mobile combined with other software.
Couchbase Server provided client protocol compatibility with memcached,but added disk persistence, data replication, live cluster reconfiguration, rebalancing and multitenancy with data partitioning.
Couchbase Server is specialized to provide low-latency data management for large-scale interactive web, mobile, and IoT applications. Common requirements that Couchbase Server was designed to satisfy include:
Flexible data model
Powerful query language
Couchbase Server is a comprehensive, general purpose database that supports broad set of web, mobile, and IoT applications.
What is LMDB? Lightning Memory-Mapped Database (LMDB) is a software library that provides a high-performance embedded transactional database in the form of a key-value store. LMDB is written in C with API bindings for several programming languages.
LMDB is a Btree-based database management library modeled loosely on the BerkeleyDB API, but much simplified. The entire database is exposed in a memory map, and all data fetches return data directly from the mapped memory, so no malloc's or memcpy's occur during data fetches. As such, the library is extremely simple because it requires no page caching layer of its own, and it is extremely high performance and memory-efficient. It is also fully transactional with full ACID semantics, and when the memory map is read-only, the database integrity cannot be corrupted by stray pointer writes from application code.
The library is fully thread-aware and supports concurrent read/write access from multiple processes and threads. Data pages use a copy-on- write strategy so no active data pages are ever overwritten, which also provides resistance to corruption and eliminates the need of any special recovery procedures after a system crash. Writes are fully serialized; only one write transaction may be active at a time, which guarantees that writers can never deadlock. The database structure is multi-versioned so readers run with no locks; writers cannot block readers, and readers don't block writers.
Unlike other well-known database mechanisms which use either write-ahead transaction logs or append-only data writes, LMDB requires no maintenance during operation. Both write-ahead loggers and append-only databases require periodic checkpointing and/or compaction of their log or database files otherwise they grow without bound. LMDB tracks free pages within the database and re-uses them for new write operations, so the database size does not grow without bound in normal use
LMDB uses memory-mapped files, giving much better I/O performance.
Works well with really large datasets. The HDF5 files are always read entirely into memory, so you can’t have any HDF5 file exceed your memory capacity. You can easily split your data into several HDF5 files though (just put several paths to h5 files in your text file).