Rdbms

0 views
Skip to first unread message

Rolando Kumar

unread,
Aug 3, 2024, 5:27:38 PM8/3/24
to nonpverrentgang

Hi, I am a newbie to neo4j and recently started working on it. Can someone please help me understand if neo4j can connect to data present in other rdbms system or data lake without bringing the data into neo4j database and whenever there is graph built on data present in rdbms, data is mobved only virtually on in cache of neo4j or the data from rdbms will first be moved and remain persistent in neo4j database when a graph is created?

Typically when you're working in a Neo4j database, you're operating with data that is in the graph, meaning you have taken the step to move the data over. Here's a link to the guide that describes how that is done. Neo4j doesn't operate as a graph layer on top of relational - you move it and persist it in Neo4j and operate there.

This guide shows the different ways you can import data from a relational database to Neo4j. Completing this guide will give you the tools to choose how to import your relational data and transform it to the graph.

Dear Sir/Madam, I am new to neo4j. Just started understanding, I am working on linux platform. Installed neo4j and cypher_shell. But not able to install "neo4j browser". Help in this regard is appreciated.

Hi Koji - Thanks for your reply. I have a follow up question here. So after connecting to rdb, when a node or relationship is created, will then the data be persisted to Neo4j's internal database or it will remain in rdb itself.

Thanks for your answer @daniellee , there could be some reasons to use rdbms for time series db, maybe even due to company constraints or legacy compatibility issues. Furthermore there are new indexes in PostgreSQL specialized for timeseries and articles like this one -boring-is-awesome-building-a-scalable-time-series-database-on-postgresql-2900ea453ee2

We agree with what you are saying which is why we are adding data sources for relational dbs. Just explaining why it has been a lower priority than supporting all the time series dbs (graphite, influxdb, elasticsearch, prometheus, OpenTSDB, KairosDB and lots more).

@ales I just finished some more work on the MySQL data source and Postgres is next on the list. But I have another feature to finish first (dashboard folders) before going on to Postgres so it will be a few weeks before I start on it.

Our product supports 2 RDBMS, Sybase and Oracle, which have somewhat different capabilities and quirks. We try to handle changesets as rdbms-agnostically as possible, but for some cases we need to be more specific. We do this using context information that are applied using 2 techniques:

In particular, we do not know how to handle correctly sequences. In Sybase, sequential unique ids should be handled using identity attribute on column whereas in Oracle a specific Sequence object should be created then later used to retrieve unique ids. Historically we have been using some custom code to handle incremental sequences uniformly across databases, but as we are moving towards standardized RDBMS access through JPA, we would like to make things more uniform.

Hi again,

Is it possible to replace hash computation in some way through extension mechanism ? I would think it is possible to override changelog serializers hence we could imagine generating a string that would be uniform across databases thus generating consistent hash but there might be unknown side-effects.

If this is not possible, would you accept a patch that would compute hashing on the raw text of changesets ?

Thanks

Arnaud

Nathan,

Thanks for your reply. I planned to work on this issue this week given we have internal deadlines to meet. We are currently heading towards the simpler solution of nulling hash values in the DB should we migrate our data between various database vendors (currently supporting only oracle and sybase though). The way we plan to do it is simple:

We have had a lengthy discussion on this subject and I leant towards proposing pull request to liquibase but in the end it appears I somewhat lost the argument given the simplicity of the above scheme.

c80f0f1006
Reply all
Reply to author
Forward
0 new messages