Graph database

Dari Wikipedia, ensiklopedia bebas

Graph database

Graph database (Basis data graf) dalam dunia ilmu komputer adalah basis data yang menggunakan struktur data graf yg memiliki komponen simpel (node), tepi (edge) dan atribut (properties) untuk merepresentasikan penyimpanan data. Basis data graf menyediaakan index-free adjacency, konsep yang memungkinkan penyimpanan dan Pemrosesan graf secara efisien[1]. Dalam sistem ini, setiap simpul langsung terhubung dengan simpul-simpul yang ada di sekitarnya tanpa perlu menggunakan indeks tambahan untuk mencari simpul-simpul tersebut. Artinya, hubungan antar simpul disimpan langsung di dalam simpul itu sendiri, sehingga akses ke simpul terrait bisa dilakukan secara cepas tanpa pencarían melalui indeks yang terpisah. Pendekatan ini sangat berguna dalam aplikasi yang membutuhkan performa tinggi, seperti rekomendasi atau analisis jaringan sosial.

Berikut struktur dari graph database:

Thumb
Graph database

Setiap simpul melambangkan suatu entitas seperti orang, bisnis, akun, atau item lain yang hendak dilacak.

Sifat

Dibanding dengan relational database, graph database sering lebih cepat untuk himpunan data asosiatif, dan memetakan lebih langsung ke struktur aplikasi berorientasi objek (object-oriented application). Database ini dapat diskala lebih alamiah ke himpunan data lebih besar karena umumnya tidak membutuhkan operasi "join" yang mahal. Karena kurang tergantung dari skema kaku, mereka lebih cocok untuk dikelola secara ad hoc dan data yang berubah-ubah dengan skema yang terus diperbarui. Sebaliknya, relational database umumnya lebih cepat dalam mengerjakan operasi yang sama dengan jumlah elemen data yang lebih banyak.

Proyek-proyek graph database

Ringkasan
Perspektif

Berikut adalah daftar sejumlah proyek graph database yang terkenal:

Informasi lebih lanjut Nama, Versi ...
NamaVersiLisensiBahasaPemerian
AllegroGraph4.14.1 (September 2014)Proprietary, Clients - Eclipse Public License v1C#, C, Common Lisp, Java, PythonA RDF and graph database.
ArangoDB Diarsipkan 2014-10-07 di Wayback Machine.2.2.1 (July 2014)Apache 2C, C++ & JavascriptA distributed multi-model document store and graph database. Highly scalable supporting ACID and full transaction support. Including a built-in graph explorer.
Bigdata Diarsipkan 2023-06-10 di Wayback Machine.1.3.1 (May 2014)GPLv2, evaluation license, or commercial license.JavaA RDF/graph database capable of clustered deployment. Bigdata supports high availability (HA) mode Diarsipkan 2014-12-19 di Wayback Machine., embedded mode Diarsipkan 2014-12-19 di Wayback Machine., single server mode Diarsipkan 2014-12-19 di Wayback Machine.. As of version 1.3.1, it supports the Blueprints API Diarsipkan 2014-12-19 di Wayback Machine. and Reification Done Right (RDR) Diarsipkan 2014-12-19 di Wayback Machine..
Bitsy Diarsipkan 2023-08-08 di Wayback Machine.1.5.0AGPL, Enterprise license (unlimited use, annual/perpetual)JavaA small, embeddable, durable in-memory graph database
BrightstarDB Diarsipkan 2023-06-06 di Wayback Machine.MIT License [2]C#An embeddable NoSQL database for the .NET platform with code-first data model generation.
Cayley Diarsipkan 2016-02-03 di Wayback Machine.0.4.0 (August 2014)Apache 2GoAn open-source graph inspired by the graph database behind Freebase and Google's Knowledge Graph.
DEX/Sparksee[3]5.1.0 (2014)evaluation, research or development use (free) / commercial useC++A high-performance and scalable graph database management system from Sparsity Technologies Diarsipkan 2017-05-04 di Wayback Machine., a technology transition company from DAMA-UPC Diarsipkan 2015-02-23 di Wayback Machine.. Its main characteristics is its query performance for the retrieval & exploration of large networks. Sparksee 5 mobile is the first graph database for mobile devices.
Filament Diarsipkan 2023-05-17 di Wayback Machine.BSDJavaA graph persistence framework and associated toolkits based on a navigational query style.
GraphBase Diarsipkan 2017-06-26 di Wayback Machine.1.0.03aProprietaryJavaA customizable, distributed, small-footprint graph store with a rich tool set from FactNexus Diarsipkan 2023-06-10 di Wayback Machine..
GraphdProprietaryThe proprietary back-end of Freebase.
Horton Diarsipkan 2016-06-09 di Wayback Machine.ProprietaryC#A graph database from Microsoft Research Extreme Computing Group (XCG) Diarsipkan 2014-03-28 di Wayback Machine. based on the cloud programming infrastructure Orleans Diarsipkan 2016-06-20 di Wayback Machine..
HyperGraphDB Diarsipkan 2023-05-29 di Wayback Machine.1.2 (2012)LGPLJavaA graph database supporting generalized hypergraphs where edges can point to other edges.
IBM System G Native Store Diarsipkan 2018-05-21 di Wayback Machine.v1.0 Diarsipkan 2018-05-21 di Wayback Machine. (July 2014)ProprietaryC, C++, JavaA high performance graph store using natively implemented graph data structures and primitives for achieving superior efficiency. IBM System G Native Store can handle various simple graphs, property graphs, and RDF graphs, in terms of storage, analytics, and visualization. Native Store is accessible from most programming languages by providing APIs in C++, Java (Tinkerpop/Blueprints), and Python. Its gShell graph command collection and the Native Store REST APIs provide language-free interfaces.
InfiniteGraph Diarsipkan 2023-06-01 di Wayback Machine.3.0 (January 2013)ProprietaryJavaA distributed and cloud-enabled commercial product with flexible licensing.
InfoGrid Diarsipkan 2010-06-09 di Wayback Machine.2.9.5 (2011)AGPLv3, free for small entities[4]JavaA graph database with web front end and configurable storage engines (MySQL, PostgreSQL, Files, Hadoop).
JanusGraph Diarsipkan 2022-01-11 di Wayback Machine.0.6.1 (2022)Apache 2JavaOpen source, scalable, distributed across a multi-machine cluster graph database under The Linux Foundation; supports various storage backends (Apache Cassandra, Apache HBase, Google Cloud Bigtable, Oracle BerkeleyDB);[5] supports global graph data analytics, reporting, and ETL through integration with big data platforms (Apache Spark, Apache Giraph, Apache Hadoop); supports geo, numeric range, and full-text search via external index storages (Elasticsearch, Apache Solr, Apache Lucene).[6]
jCoreDB Graph Diarsipkan 2014-08-09 di Wayback Machine.An extensible database engine with a graph database subproject.
MapGraph Diarsipkan 2023-06-28 di Wayback Machine.v3 (2014)Apache 2CUDAMapGraph is Massively Parallel Graph processing on GPUs. The MapGraph API makes it easy to develop high performance graph analytics on GPUs. The API is based on the Gather-Apply-Scatter (GAS) model as used in GraphLab.[7] MapGraph is up to two orders of magnitude faster than parallel CPU implementations on up 24 CPU cores and has performance comparable to a state-of-the-art manually optimized GPU implementation. New algorithms can be implemented in a few hours that fully exploit the data-level parallelism of the GPU and offer throughput of up to 3.3 billion traversed edges per second on a single GPU.[8] and up to 30 billion traversed edges per second on a cluster with 64 GPUs [9]
Neo4j2.1.6 Diarsipkan 2014-10-15 di Wayback Machine. (November 2014)GPLv3 Community Edition. Commercial & AGPLv3 options for Enterprise and Advanced editions[10]JavaA highly scalable open source graph database that supports ACID, has high-availability clustering for enterprise deployments, and comes with a web-based administration tool that includes full transaction support and visual node-link graph explorer.[11] Neo4j is accessible from most programming languages using its built-in REST web API interface. Neo4j is the most popular graph database in use today.[12]
Orly Diarsipkan 2022-05-28 di Wayback Machine. (March 2014)Apache 2[10]C++A highly scalable open source graph database.[13] Orly is accessible from most programming languages using its built-in REST web API interface. Orly is a popular graph database in use today.
OpenLink Virtuoso7.1 (March 2014)GPLv2 for Open Source Edition Diarsipkan 2016-10-21 di Wayback Machine.. Proprietary for Enterprise Edition Diarsipkan 2016-10-15 di Wayback Machine..C, C++A hybrid database server handling RDF and other graph data, RDB/SQL data, XML data, filesystem documents/objects, and free text. May be deployed as a local embedded instance (as used in the Nepomuk Semantic Desktop), a single-instance network server, or a shared-nothing elastic-cluster multiple-instance networked server.[14]
Oracle Spatial and Graph Diarsipkan 2013-11-06 di Wayback Machine.11.2 (2012)ProprietaryJava, PL/SQL1) RDF Semantic Graph: comprehensive W3C RDF graph management in Oracle Database with native reasoning and triple-level label security. 2) Network Data Model property graph: for physical/logical networks with persistent storage and a Java API for in-memory graph analytics.
Oracle NoSQL Database Diarsipkan 2013-11-22 di Wayback Machine.2.0.39 (2013)ProprietaryJavaRDF Graph for Oracle NoSQL Database is a feature of Enterprise Edition providing W3C RDF graph capabilities in NoSQL Database.
OrientDB1.7.10 Diarsipkan 2014-12-16 di Wayback Machine. (November 2014)Community Edition Apache 2, Enterprise Edition is CommercialJavaOrientDB is a 2nd Generation Distributed Graph Database with the flexibility of Documents in one product with an Open Source commercial friendly license (Apache 2 license). It has a multi-master replication and sharding. Supports schema-less, schema-full and schema-mixed modes. Has a strong security profiling system based on user and roles and supports SQL amongst the query languages. Thanks to the SQL layer, it's straightforward to use for those skilled in the relational database world.
OQGRAPHGPLv2A graph computation engine for MySQL, MariaDB and Drizzle.
Ontotext OWLIM Diarsipkan 2014-08-19 di Wayback Machine.5.3OWLIM Lite is free
OWLIM SE and Enterprise are commercially licenced
JavaA graph database engine, based entirely on Semantic Web standards from W3C: RDF, RDFS, OWL, SPARQL. OWLIM Lite is an "in memory" engine. OWLIM SE is robust standalone database engine. OWLIM Enterprise is a clustered version which offers horizontal scalability and failover support and other enterprise features.
R2DFR2DF framework for ranked path queries over weighted RDF graphs.
ROIS Diarsipkan 2015-02-13 di Wayback Machine.FreewareModula-2A programmable knowledge server that supports inheritance and transitivity. Used in OpenGALEN as a Terminology Server.
sones GraphDBAGPLv3[15]C#A graph database and universal access layer (funded by Deutsche Telekom).
SPARQLCity Diarsipkan 2014-02-02 di Wayback Machine.v1.0.95 (October 2014)GPLv3C, C++ & JavascriptSPARQLCity produces SPARQLVerse: A standards and Hadoop based analytic graph engine for performing rich business analytics on structured and semi-structured data.
Sqrrl Enterprise Diarsipkan 2014-06-05 di Wayback Machine.v1.5.1 (August 2014)ProprietaryJavaDistributed, real-time graph database featuring cell-level security and massive scalability.
Stardogv2.2 (July 2014)ProprietaryJavaFast, scalable, pure Java semantic graph database.
Teradata Aster Diarsipkan 2020-09-19 di Wayback Machine.v6 (2013)ProprietaryJava, SQL, Python, C++, RA high performance, multi-purpose, highly scalable and extensible MPP database incorporating patented engines supporting native SQL, MapReduce and Graph data storage and manipulation. An extensive set of analytical function libraries and data visualization capabilities are also provided.
Titan Diarsipkan 2018-07-31 di Wayback Machine.0.5.2 (2014)Apache 2JavaA distributed, real-time, scalable transactional graph database developed by Aurelius Diarsipkan 2016-04-02 di Wayback Machine..
Trinity Diarsipkan 2023-08-08 di Wayback Machine.C#, C, X64 AssemblyA distributed general purpose graph engine on a memory cloud.
TripleBit Diarsipkan 2019-01-27 di Wayback Machine.C/C++A centralized RDF store.
VelocityGraph Diarsipkan 2018-08-07 di Wayback Machine.Open source with proprietary back-endC#High performance, scalable & flexible graph database build with VelocityDB Diarsipkan 2021-03-01 di Wayback Machine. object database.
VertexDB Diarsipkan 2011-11-06 di Wayback Machine.Revised BSDCA graph database server that supports automatic garbage collection.
Weaver Diarsipkan 2020-01-20 di Wayback Machine.0.1 (December 2014)BSD licensesC, PythonA fast, scalable, ACID transactional graph database with replication and migration.
WhiteDB Diarsipkan 2023-05-30 di Wayback Machine.0.7.0 (October 2013)GPLv3 and a free commercial licenceCA graph/N-tuples shared memory database library.
OhmDB Diarsipkan 2023-04-09 di Wayback Machine.1.0.0 (August 2014)Apache 2JavaRDBMS + NoSQL Database for Java.
Tutup

Graph database features

Ringkasan
Perspektif

The following table compares the features of the above graph databases.

Informasi lebih lanjut Name, API ...
NameGraph ModelAPIQuery MethodsVisualizerConsistencyBackendScalability
AllegroGraphRDFJava, Java:Sesame, JavaJena, Python, Ruby, Perl, C#, Clojure, Lisp, Scala, RESTSPARQL 1.1, Prolog, JIG, JavaScriptGruff - View Graphs, Visual Query Builder for SPARQL and PrologACIDNative Graph Storage1 Trillion RDF triples
ArangoDB Diarsipkan 2014-10-07 di Wayback Machine.Property Graph Diarsipkan 2022-10-07 di Wayback Machine.JavaScript, Blueprints, RESTGraph Traversals via JavaScript, GremlinBuilt-in graph explorerMVCC/ACIDnative C/C++Replication and Sharding
Bigdata Diarsipkan 2012-03-10 di Wayback Machine.RDFJava, Sesame, Blueprints, Gremlin, SPARQL, RESTSPARQL, GremlinBigdata Workbench UIMVCC/ACIDNative JavaEmbedded Diarsipkan 2014-12-19 di Wayback Machine., Client/Server Diarsipkan 2014-12-19 di Wayback Machine., High Availability (HA) Diarsipkan 2014-12-19 di Wayback Machine.
Bitsy Diarsipkan 2023-08-08 di Wayback Machine.Property GraphBlueprintsGremlin, Pixy Diarsipkan 2022-12-05 di Wayback Machine.ACID with optimistic concurrency controlHuman-readable JSON-encoded text files with checksums and markers for recovery
DEX/Sparksee[3]Labeled and directed attributed multigraphJava, C++, .NET, PythonNative Java, C#, Python and C++ APIs, Blueprints, GremlinExporting functionality to visualization formatsConsistency, durability and partial isolation and atomicityNative graph. light and independent data structures with a small memory footprint for storageMaster/Slave replication
Filament Diarsipkan 2023-05-17 di Wayback Machine.
GraphBase Enterprise(1) Diarsipkan 2014-11-25 di Wayback Machine. GraphBase Agility(2) Diarsipkan 2014-11-29 di Wayback Machine.(1) mixed, (2) Framework-managed Simple GraphJavaBounds Language, embedded javaGraphPad, BoundsPad, NavigatorACID, graph-based transactionsproprietary native(1) shared nothing distributed, (2) simple replication, 100+ Billion arcs per server
Graphd
Horton Diarsipkan 2016-06-09 di Wayback Machine.Attributed multigraphHorton Query Language (Regular Language Expression + SQL)C#, .Net Framework, Asynchronous communication protocols
HyperGraphDB Diarsipkan 2023-05-29 di Wayback Machine.Object-oriented multi-relational labeled hypergraphCustom,JavaMVCC/STM
IBM System G Native Store Diarsipkan 2018-05-21 di Wayback Machine.Property Graph, RDF*C++, Java, PythonNative Store gShell, Gremlin, SPARQLBuilt-in VisualizerACIDNative Graph StorageBoth scale-up (using multithreading) and scale-out (using IBM PAMI)
InfiniteGraph Diarsipkan 2023-06-01 di Wayback Machine.Labeled and directed multi-property graphJava, Blueprints (Read Only)Java (with parallel, distributed queries), Gremlin (Read Only)Graph browser for developers. Plugins to allow use of external libraries.ACID. There is also a parallel, loosely synchronized batch loader.Objectivity/DB on standard filesystemsDistributed & Sharded. Objectivity/DB was the first DBMS to store a Petabyte of objects.
InfoGrid Diarsipkan 2010-06-09 di Wayback Machine.Dynamically typed, object-oriented graph, multigraphs, semantic models
JanusGraph Diarsipkan 2022-01-11 di Wayback Machine.Property Graph Diarsipkan 2022-10-07 di Wayback Machine.Java, C#, Python, REST (any language)Gremlin Diarsipkan 2023-04-27 di Wayback Machine.Arcade Analytics, Cytoscape, Gephi plugin for Apache TinkerPop, Graphexp, Graph Explorer, Gremlin-Visualizer, G.V() - Gremlin IDE, KeyLines by Cambridge Intelligence, Linkurious, Tom Sawyer PerspectivesACIDNative Java server on top of column oriented database and optionally plugged in search engineHorizontal linear scalability with multi data-center support.
jCoreDB Graph Diarsipkan 2014-08-09 di Wayback Machine.
Neo4jProperty GraphJava, Python, JPython, Ruby, JRuby, JavaScript (Node.js), PHP, .NET, Django, Clojure, Spring, Scala, or REST (any language)Cypher (native/preferred), Native Java APIs (special cases), Traverser API, REST, Blueprints, GremlinData Browser included. Supports a variety of 3rd party tools: Gephi, Linkurio.us, Cytoscape, Tom Sawyer, Keylines, etc.ACIDNative graph storage with native graph processing engineHorizontal read scaling via master-slave clustering with cache sharding.
OpenLink VirtuosoRDF graph: Triple & Quad (named graphs); expandable column storeSPARQL, XMLA, ODBC, JDBC, ADO.NET, OLE DB, Jena, Sesame, Virtuoso PL/SQL, Java, Python, Perl, PHP, HTTP, etc.SPARQL 1.1; SPARQL web service endpoint; SQL; othersPivot Viewer (Silverlight or HTML5); OpenLink Data Explorer; SPARQL-compliant tools; Apache Jena-based tools; XML & JSON-based tools; SQL based toolsACIDInternal column-store or row-store (depending on licensure), hybrid RDF/SQL/RDB engineInfinite via Commercial Edition's Cluster Module elastic cluster functionality; simple master-slave clustering of single-server instances also an option.
Oracle Spatial and Graph Diarsipkan 2013-11-06 di Wayback Machine.RDF graph: Triple & Quad (named graphs); Network Data Model property graphJava; Apache Jena; PL/SQLSPARQL 1.1; SPARQL web service end point; SQLSPARQL-compliant tools; Apache Jena-based tools; XML & JSON-based tools; SQL based toolsACIDEfficient, compressed, partitioned graph storage; Native persisted in-database inferencing; SPARQL 1.1 & SQL integration; Triple-level label security; Semantic indexing of documentsParallel load, query, inference; Query controls; Scales from PC to Oracle Exadata; Supports Oracle Real Application Clusters and Oracle Database 8 exabytes
Oracle NoSQL Database Diarsipkan 2013-11-22 di Wayback Machine.RDF graph: Triple default graph, Triple & Quad named graphsJava (Apache Jena)SPARQL 1.1; SPARQL web service end pointSPARQL-compliant tools; Apache Jena-based tools; XML & JSON-based toolsACID; Configurable consistency & durability policiesKey/value store; W3C SPARQL 1.1 & Update; In-memory RDFS/OWL inferencingParallel load/query; Query controls for: parallel execution, timeout, query optimization hints
OrientDBProperty GraphJava, Python, JPython, Ruby, JRuby, JavaScript (Node.js), PHP, .NET, Clojure, Spring, Scala, or REST (any language)Own SQL-like Query Language, REST, Blueprints, Gremlin, SparQL (via Blueprints)Console and Studio Web tool Diarsipkan 2014-12-19 di Wayback Machine. supporting also graph editorACID, MVCCCustom on disc or in memoryHorizontal read and write scaling via multi-master replication + sharding.
OQGRAPH
R2DF
ROIS Diarsipkan 2015-02-13 di Wayback Machine.
sones GraphDB
Sqrrl Enterprise Diarsipkan 2014-06-05 di Wayback Machine.Property GraphThrift, BlueprintOwn SQL-like query language and Java APIIntegrates with 3rd party toolsFully Consistent and ACID (transactions limited to a single graph node)Apache AccumuloDistributed cluster with tens of trillions of edges Diarsipkan 2023-07-29 di Wayback Machine.
StardogRDFJava, Sesame, Jena, SNARL, HTTP/REST, Python, Ruby, Node.js, C#, Clojure, SpringSPARQL 1.1Stardog Web, Pelorus Diarsipkan 2014-07-15 di Wayback Machine.ACIDNative Graph Storage50 billion RDF triples on $10,000 server
Titan Diarsipkan 2013-02-12 di Wayback Machine.Property GraphJava, Blueprints, REST, RexPro binary protocol, Python, Clojure (any language)Gremlin, SPARQL [butuh rujukan] Integrates with 3rd party toolsACID or Eventually ConsistentApache Cassandra, Apache HBase, MapR M7 Tables, Berkeley DB, Persistit, HazelcastDistributed cluster (120 billion+ edges) or single server.
Trinity Diarsipkan 2023-08-08 di Wayback Machine.Cell Based Graph Model Diarsipkan 2016-03-14 di Wayback Machine.C#Trinity Query LanguageCell level Atomicity Diarsipkan 2016-03-14 di Wayback Machine.Native graph store and processing enginebillion node in-memory graph
TripleBit Diarsipkan 2019-01-27 di Wayback Machine.Labeled direct graph Diarsipkan 2019-01-27 di Wayback Machine.C, C++SPARQLACID or Eventually Consistent]Native graph store and processing enginebillion triples
VertexDB Diarsipkan 2011-11-06 di Wayback Machine.
Weaver Diarsipkan 2020-01-20 di Wayback Machine.Property GraphC, PythonNode programsACIDHyperDexAutomatic replication and migration
Tutup

Pemrosesan graf yang didistribusi

GPGPU Graph Processing

  • Medusa Diarsipkan 2016-01-24 di Wayback Machine. - A framework for graph processing using Graphics Processing Units (GPUs) on both shared memory and distributed environments. Medusa allows users with no GPU programming expertise to leverage GPUs for graph processing.

APIs and Graph Query/Programming Languages

Lihat pula

  • NoSQL
  • Document-oriented database
  • Structured storage
  • Object database
  • Resource Description Framework (RDF) - framework to express node-edge graphs
  • Graph transformation for a complementary topic (rule based in memory manipulation of graphs instead of transaction safe persistence).
  • RDF Database

Referensi

Pranala luar

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.