# Data Source Concept in neo4j

**URL:** <https://community.neo4j.com/t/data-source-concept-in-neo4j/17342>\
**Category:** Cluster\
**Tags:** cluster\
**Created:** [April 20, 2020, 8:14am UTC](https://community.neo4j.com/t/data-source-concept-in-neo4j/17342 "2020-04-20T08:14:23Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![PankajDubey](https://sea1.discourse-cdn.com/flex021/user_avatar/community.neo4j.com/pankajdubey/32/10702_2.png) [@PankajDubey](https://community.neo4j.com/u/PankajDubey)\
**Post date:** [April 20, 2020, 8:14am UTC](https://community.neo4j.com/t/data-source-concept-in-neo4j/17342/1 "2020-04-20T08:14:23Z")

</div>

Good Evening,

I need understanding on Data source concept in Neo4j. lets suppose there are five application which is using same data base how we can monitor the database for all application if any of them is creating problem.

Is it possible to allocate different connection pool like relational database.

---

<div class="post-metadata">

**Author:** ![mike\_r\_black](https://sea1.discourse-cdn.com/flex021/user_avatar/community.neo4j.com/mike_r_black/32/30089_2.png) [@mike\_r\_black](https://community.neo4j.com/u/mike_r_black)\
**Post date:** [April 21, 2020, 3:55am UTC](https://community.neo4j.com/t/data-source-concept-in-neo4j/17342/2 "2020-04-21T03:55:19Z")

</div>

You can have multiple database user credentials so each application is logging into the database as itself so you can monitor which application might be causing issues. You can also query the execution logs to find poor performing queries and all the regular db monitoring that you'd want to do.

---

<div class="post-metadata">

**Author:** ![PankajDubey](https://sea1.discourse-cdn.com/flex021/user_avatar/community.neo4j.com/pankajdubey/32/10702_2.png) [@PankajDubey](https://community.neo4j.com/u/PankajDubey)\
**Post date:** [April 21, 2020, 7:35am UTC](https://community.neo4j.com/t/data-source-concept-in-neo4j/17342/3 "2020-04-21T07:35:30Z")

</div>

Good After Noon Mike,  
As per your statement, we can create multiple use to achieve that functionality so can we allocate different connection pool -No of Active, Idle connection, Timeout etc, if yes then how.

For Monitoring point of view in Oracle we can schedule report to get the active/inactive connection count for each data source, can we do it in Neo4j.

---

<div class="post-metadata">

**Author:** ![mike\_r\_black](https://sea1.discourse-cdn.com/flex021/user_avatar/community.neo4j.com/mike_r_black/32/30089_2.png) [@mike\_r\_black](https://community.neo4j.com/u/mike_r_black)\
**Post date:** [April 24, 2020, 1:22pm UTC](https://community.neo4j.com/t/data-source-concept-in-neo4j/17342/4 "2020-04-24T13:22:34Z")

</div>

Here's the link to the documentation to user management

> **[Managing users - Cypher Manual](https://neo4j.com/docs/cypher-manual/current/access-control/manage-users/)**
>
> This section explains how to use Cypher to manage users in Neo4j.

Then here's the link how to setup monitoring. Personally I use the Prometheus + Grafana stack to collect and alert metics.

> **[Monitoring - Operations Manual](https://neo4j.com/docs/operations-manual/current/monitoring/)**
>
> This chapter describes the tools that are available for monitoring Neo4j.

I also recommend using the Halin tool to help with monitoring [Halin - Neo4j Monitoring Tool - Neo4j Labs](https://neo4j.com/labs/halin/)

---

<div class="post-metadata">

**Author:** ![PankajDubey](https://sea1.discourse-cdn.com/flex021/user_avatar/community.neo4j.com/pankajdubey/32/10702_2.png) [@PankajDubey](https://community.neo4j.com/u/PankajDubey)\
**Post date:** [May 6, 2020, 8:00am UTC](https://community.neo4j.com/t/data-source-concept-in-neo4j/17342/5 "2020-05-06T08:00:58Z")

</div>

Thanks Mike for the explanation that is helping me to improve knowledge on Neo DB

can we use rollback/commit to. if we want to commit or rollback to savepoint in neo4j database. if yes, then how

---

<div class="post-metadata">

**Author:** ![mike\_r\_black](https://sea1.discourse-cdn.com/flex021/user_avatar/community.neo4j.com/mike_r_black/32/30089_2.png) [@mike\_r\_black](https://community.neo4j.com/u/mike_r_black)\
**Post date:** [May 7, 2020, 4:32am UTC](https://community.neo4j.com/t/data-source-concept-in-neo4j/17342/6 "2020-05-07T04:32:45Z")

</div>

Here's the link to the documentation about [transactions](https://neo4j.com/docs/cypher-manual/current/introduction/transactions/). The exact implementation differs if you're connecting through a driver vs. HTTP API vs. Java. Neo4j is ACID so your commands are all or nothing if something fails with the statement.

---

<div class="post-metadata">

**Author:** ![PankajDubey](https://sea1.discourse-cdn.com/flex021/user_avatar/community.neo4j.com/pankajdubey/32/10702_2.png) [@PankajDubey](https://community.neo4j.com/u/PankajDubey)\
**Post date:** [December 2, 2020, 3:15pm UTC](https://community.neo4j.com/t/data-source-concept-in-neo4j/17342/7 "2020-12-02T15:15:44Z")

</div>

Hi,  
I'm facing issue while accessing both properties of a node.  
for example: there is node so called person having name & dob  
getting exception while fetching both values either i can get result.single().get(0).asString() or result.single().get(1).asString()  
getting the excepton Cannot retrieve a single record, because this result is empty. if im trying to fetch both at a time. please help.
