Software Alternatives & Startups

NetworkX VS Datomic

Compare NetworkX VS Datomic and see what are their differences

NetworkX

NetworkX is a Python language software package for the creation, manipulation, and study of the...

Rating
0 reviews
Pricing
Open source
Datomic

The fully transactional, cloud-ready, distributed database

Rating
0 reviews

Which is more popular?

Based on our record, NetworkX seems to be more popular. It has been mentioned 35 times since March 2021.

social mentions
35 vs 0
Graph Databases popularity
100% vs 0%
alternatives listed
29 vs 67

Base details

Website, pricing, platforms and company facts side by side.

NetworkX
Datomic
Website networkx.org datomic.com
Pricing
Open source
Listed in

Features and specs

What each product offers, as listed by its team.

NetworkX 5 features
Datomic 6 features
  • Ease of Use
    NetworkX provides a simple and intuitive API that makes it easy for both novices and experienced users to create, manipulate, and study the structure and dynamics of complex networks.
  • Comprehensive Documentation
    The library is well-documented with a vast number of examples and tutorials, aiding users in understanding and applying the features effectively.
  • Rich Functionality
    NetworkX offers numerous built-in functions to analyze network properties, perform algorithms like shortest path and clustering, and handle various graph types such as directed, undirected, and multigraphs.
  • Integration with Python Ecosystem
    Being a Python library, NetworkX integrates seamlessly with other scientific computing libraries like NumPy, SciPy, and Matplotlib, allowing for extensive data analysis and visualization.
  • Active Community
    NetworkX's active community of users and developers means continuous improvements and updates, as well as a wealth of shared knowledge and code to draw upon.

Possible disadvantages

  • Performance Limitations
    NetworkX may suffer from performance issues with extremely large graphs due to its in-memory data storage and Python's inherent single-threaded execution, making it less suitable for handling very large-scale networks.
  • Lack of Parallel Processing
    NetworkX does not natively support parallel processing within its operations, which can be a drawback when working with complex computations or very large graphs.
  • Memory Consumption
    Graphs and network data structures in NetworkX may consume a substantial amount of memory, especially with large datasets, potentially leading to inefficiencies.
  • Visualization Limitations
    While NetworkX provides basic plotting capabilities, for more advanced and interactive visualizations, additional libraries like Matplotlib or Plotly might be needed.
  • Scalability Constraints
    The library is not designed to work efficiently with very large networks compared to other frameworks specialized for scalability, such as Graph-tool or igraph.
  • Immutability
    Datomic employs an append-only data model where data is never overwritten but instead appended, ensuring historical data is always available and providing strong consistency.
  • Time Travel Queries
    Datomic allows you to query the database as of any point in time, facilitating auditing and debugging by allowing easy access to historical data states.
  • Rich Data Model
    Supports complex data types like maps and sets directly within its schema, providing a flexible way to represent data.
  • ACID Transactions
    Datomic supports fully ACID-compliant transactions, ensuring reliable and predictable database operations.
  • Scalability
    Separates storage and compute, allowing for horizontal scaling of read operations, making it suitable for handling large datasets.
  • Query Flexibility
    Offers a powerful query language that supports recursive queries, making it suitable for complex data retrieval needs.

Possible disadvantages

  • Complexity
    The architecture of Datomic can be complex to understand and implement, particularly for teams unfamiliar with its design principles.
  • Cost
    Can be expensive to operate, especially in a cloud environment, where costs increase with the amount of data stored and the compute resources required.
  • Limited Write Throughput
    Due to its append-only design, Datomic can have limited write throughput, which may not be suitable for applications with heavy write requirements.
  • Closed Source
    Datomic is a proprietary database system, which may not appeal to organizations that prefer open-source solutions.
  • Learning Curve
    Requires a learning curve as its conceptual model and query language are different from traditional databases, potentially requiring additional training.
  • Dependency on AWS
    Relying on AWS ecosystem for the storage backend can limit choices for deployment environments, impacting flexibility.

Videos

Walkthroughs and reviews on video.

NetworkX 1 video + Add
Datomic 3 videos + Add

Directed Network Analysis - Simulating a Social Network Using Networkx in Python - Tutorial 28

KotlinConf 2018 - Datomic: The Most Innovative DB You've Never Heard Of by August Lilleaas

More videos

  • - "Real-World Datomic: An Experience Report" by Craig Andera (2013)
  • - Rich Hickey on Datomic Ions, September 12, 2018

Category popularity

How often each product is chosen within a category, 0–100% relative to the other.

Score bands 0–20 21–40 41–50 51–60 61–100
NetworkX
Datomic
100% 100%
0% 0%
28% 28%
72% 72%
22% 22%
78% 78%
0% 0%
100% 100%

User comments

Share your experience with using NetworkX and Datomic. For example, how are they different and which one is better?

Log in or Post with

Social recommendations and mentions

Recommendations tracked on public social media and blogs since March 2021.

NetworkX 35 mentions
Datomic 0 mentions
  • Representing Graphs in PostgreSQL
    If you are interested in the subject, also take a look at NetworkDisk[1] which enable users of NetworkX[2] which maps graphs to databases. [1] https://networkdisk.inria.fr/ [2] https://networkx.org/. - Source: Hacker News / over 1 year ago
  • Build the dependency graph of your BigQuery pipelines at no cost: a Python implementation
    In the project we used Python lib networkx and a DiGraph object (Direct Graph). To detect a table reference in a Query, we use sqlglot, a SQL parser (among other things) that works well with Bigquery. - Source: dev.to / over 2 years ago
  • Custom libraries and utility tools for challenges
    If you program in Python, can use NetworkX for that. But it's probably a good idea to implement the basic algorithms yourself at least one time. Source: almost 3 years ago

View more

Tracking Datomic since Mar 2021.

Alternatives to NetworkX and Datomic

When comparing NetworkX and Datomic, you can also consider the following products.