DZone
Database Zone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
  • Refcardz
  • Trend Reports
  • Webinars
  • Zones
  • |
    • Agile
    • AI
    • Big Data
    • Cloud
    • Database
    • DevOps
    • Integration
    • IoT
    • Java
    • Microservices
    • Open Source
    • Performance
    • Security
    • Web Dev
DZone > Database Zone > 6 Things I'd Like to See in a Distributed Graph Database Technology

6 Things I'd Like to See in a Distributed Graph Database Technology

René Pickhardt user avatar by
René Pickhardt
·
Mar. 05, 12 · Database Zone · Interview
Like (0)
Save
Tweet
2.63K Views

Join the DZone community and get the full member experience.

Join For Free

I am just dreaming this does not exist and needs to be refined in a later stage.

  • Fast traversals:
    • Jumping from one vertex of the graph to another should be possible in O(1)
  • Online processing:
    • “Standard queries” (<–whatever this means) should compute within miliseconds.
    • As an example: Local recommendations e.g. similar users in a bipartite “User – Band” graph should be possible to process online in less than a second.
  • Query language:
    • A programming model that supports pattern matching and traversals with one (or possibly several) starting nodes
    • No SPARQL (too general for a reasonable graph application) support needed.
    • Support for reading and writing new data (to disk)!
  • Distribution effort:
    • The programmer should not have to care about the distribution techniques.
    • He should just be able to use the technology.
  • Fault tolerance:
    • The system has to run stable if working computers are added or removed.
    • Probably by introducing redundancy in some way [1]
  • Persistence:
    • Transactions and persistence are important for any data base service.

It is very clear that this wish list is very high level. But I think these are reasonable assumptions from which we can break down the problem and discuss pros and cons of all the techniques needed to built such a system.   

[1] on the Redundancy discussion:

Depending on the techniques used, introducing redundancy has probably two positive effects on:

  1. Fast traversals
  2. Fault tolerance

On the other hand it has a deep impact on

  1. Persistence (which is hard to achieve in a distributed setting anyway is even harder to achieve once redundancies are included.)

It is not clear if we really need redundancy. Maybe there are some other techniques that enable us to find our goals but I personally have the feeling that a good model for redundancy will “solve” the problem.

relation to the reading club

I already found the time to look over our courrent reading assignments. Especially the VLDB paper (Topology partitioning applied to SPARQL, HADOOP and TripleStores) and the Challenges in parallel graph processing strengthen my confidence that an approach described above seems very reasonable.

What is your oppinion?

Do you think I am missing some features or should keep a focus on one particular feature? What about methods to achieve those goals? I am happy to discuss your thoughts!


Graph (Unix) Database

Published at DZone with permission of René Pickhardt, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

Popular on DZone

  • How Do You Integrate Emissary Ingress With OPA?
  • Implementing Microservices Architectures
  • When Disaster Strikes: Production Troubleshooting
  • What Is Pair Programming?

Comments

Database Partner Resources

X

ABOUT US

  • About DZone
  • Send feedback
  • Careers
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • MVB Program
  • Become a Contributor
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 600 Park Offices Drive
  • Suite 300
  • Durham, NC 27709
  • support@dzone.com
  • +1 (919) 678-0300

Let's be friends:

DZone.com is powered by 

AnswerHub logo