Friday, 5 April 2019

Week 1 [1-7.04.19], Graph databases

Dear all :)
I want to show you article which compare relational database systems and graph databases.

https://pdfs.semanticscholar.org/322a/6e1f464330751dea2eb6beecac24466322ad.pdf

1. Do you think that in the future the relational database systems will disapeer?
2. Do you see other features besides speed and scalability that classify the graph databases as better than the relational approach?
3. Do you use graph databases in your work? For what purpose?
4. List (at least) 2 uses of graph databases in which the relational database wouldn't be suitable.

I'm waiting for your comments ;)
Have a nice day!

30 comments:

  1. WOW at the last moment .... this is almost a weekend :-D

    1. Do you think that in the future the relational database systems will disapeer?

    In my opinion, relational database systems operating in some specific architecture will be. Maybe it will not be as currently the client - server, or without this division, but will stay. The whole world is currently wondering how to quickly process data stored in databases. I do not think anything new was invented.

    2. Do you see other features besides speed and scalability that classify the graph databases as better than the relational approach?

    Graphic systems usually increase the speed of data processing. People also learned the science of fast memorization based on images. So it does not surprise me that graphic methods are used to process databases. Only that we do not forget how to spell, because today some people can not function without a computer!

    3. Do you use graph databases in your work? For what purpose?

    I don't use such databases in my professional work.

    4. List (at least) 2 uses of graph databases in which the relational database wouldn't be suitable.

    Due to the fact that I do not use it, I found it on the Internet: Amazon Neptune and OrientDB.

    ReplyDelete
    Replies
    1. Most of the people start replaying in sunday and rest of the terms to next moths have already 2 people/week :D
      I have to disagree with you in this case. Graph database have many differents in way of process data. Meybe not all inside process are different,but way of working is something new.
      In the last answer you named two ready made platform to build your own graph database. I mean do you know any case when common relational database just can't be used (e.g. isn't enought fast).

      Delete
    2. Ok. So have a nice day ;)!

      Delete
  2. 1. Do you think that in the future the relational database systems will disapeer?

    Despite the graph databases' advantages and recent popularity over the relational databases, it is recommended the graph model itself should not be the sole reason to replace an already placed and well-designed relational database. The benefit of utilizing a graph database becomes relevant once there is an evidence for performance improvement by orders of magnitude and lower latency.

    2. Do you see other features besides speed and scalability that classify the graph databases as better than the relational approach?

    Graph databases solve problems that are both impractical and practical for relational queries. Examples include iterative algorithms such as PageRank, gradient descent, and other data mining and machine learning algorithms. Research has proved that some graph query languages are Turing complete, meaning that you can write any algorithm on them.

    3. Do you use graph databases in your work? For what purpose?

    I haven't had the opportunity to use such databases yet.

    4. List (at least) 2 uses of graph databases in which the relational database wouldn't be suitable.
    For example, to detect frauds: real-time analysis of data relationships is essential to uncovering fraud rings and other sophisticated scams before fraudsters and criminals cause lasting damage. I think that it can also be used in building recommendation systems based on machine learning, by following co-occurrences and frequencies between customer, social, and product data, for example, companies can build and use powerful, intelligent real-time recommendations engines.

    ReplyDelete
    Replies
    1. Thanks for your comment :)
      I see that you also are interesting in this topic,because you post very exhaustive answeers, am I wrong?
      I can add that the cases which you point in your last answer are the main reason why graph database get popular.
      In third answer you said "yet"...it mean that in the nearest future you will :)?

      Delete
    2. To be honest, I haven't heard too much about this topic before, but it seems very interesting.

      Delete
  3. 1. Do you think that in the future the relational database systems will disapeer?
    Relational database is closely tied to logic and math that isn't going to change or disappear. Internal working of databases will improve with cheaper memory, SSD and newer technlogy, distribution in storage, CPU,networking and speed.

    2. Do you see other features besides speed and scalability that classify the graph databases as better than the relational approach?
    Solve problem that is both impractical and practical for relational query. Examples includes iterative algorithm such as PageRank, Gradient Descent, and other data mining and machine learning algorithms. Great AI infrastructure due to its well-structured relational information between entities, and allowing one to further infer indirect facts and knowledge.

    3. Do you use graph databases in your work? For what purpose?
    I do not use grapf databases at my work.

    4. List (at least) 2 uses of graph databases in which the relational database wouldn't be suitable.
    For social marketing, where different integrated social network sources are used to understand what are the roles of different people like who is a better influencer for a specific topic, or who is going to be the best person to spread the word of a message. In this case, the evolution of a stream of social network messages and individuals who send them allows understanding the evolution of their roles.
    Churn analysis, where the customers of a telephony company are analised to understand as their call evolution and social network my influence the churn probabilities.

    ReplyDelete
    Replies
    1. You are right in first answer, but as well as relation database will be faster with newest SSD disk and more powerfull CPU as graph database will be better.
      Moreover process inside relational database have many disadventages which graphs don't have. I agree that relational database wouldn't disapeer,but |I'm sure that graph become as common used as nowadays SQL.

      Delete
  4. Ad1
    It seems to me that slowly unrelational databases will displace the use of relations in a non-relational database? You can easily use .populate() and take out what you want
    Non-relational databases are perfectly in line with the Big Data trend because, unlike classic engines, they allow for quick analysis of unstructured data and correlation between them. In a traditional database, schema and relationships are imposed in advance and with the help of appropriate SQL queries we can obtain structural answers within the framework described above. However, it will not be possible to find the relationship between e.g. the sale of individual product categories in a supermarket and precipitation. This will not be possible primarily because such data is probably not collected.

    Ad2.
    The advantage of these databases is taakaka that provide full support for ACID transactions, the ability to disperse across multiple servers (in a commercial version) Support for up to 34 billion nodes, 34 billion edges, 68 billion attributes, avoiding JOIN operations, increasing efficiency through neighborhood traversing dynamic structure, the ability to add and remove attributes from the node.

    Ad3.
    I don't use such databases in my work.

    Ad4
    A very serious mistake is to consider NoSQL as a substitute for relational databases. Therefore, there are many uncertainties and disappointments. Non-relational databases have their specific application and it is important to be aware of the problems they may cause in the future before their implementation. Relational databases, on the other hand, still have many more tools available and, therefore, it is easier to use them. Another problem with NoSQL is the fact that it is not so popular technology and programmers are also usually not familiar with specific implementations. Reliable engines such as SQL Server, Oracle or MySQL are very well known and every programmer knows at least basic SQL queries.

    ReplyDelete
    Replies
    1. In answer fourth you go straight to the point! In many case they can be used as well as relational database but we don't have many specialist in that solution.

      Delete
  5. 1. It is not easy to say if they will totally disappear but they won't be used so widely. Nowadays we have cheaper and more available hard disk and severs to store the data so the size of a data is no more problematic. What we need is fast access to the data or easy storage. Sometimes relational databases do not meet this needs comparing to other kinds of databases.

    2. I think that for some users they may be easier to use in terms of technologies and more suitable for the data.

    3. No I don't use such databases. I think that people who works with social media may use graph databeses as graph is natural representation of rrelations in social networks.

    4. The first use is representng relationns in social networks, and the second use is knowledge graphs, that are used to represent informations about relations between some entities.

    ReplyDelete
  6. 1. Do you think that in the future the relational database systems will disapeer?
    No, I don’t think so. Any database system has its own advantages and disadvantages. Today we have many database engines working in many projects.

    2. Do you see other features besides speed and scalability that classify the graph databases as better than the relational approach?
    The graph database are better when we need store data that are difficult to define as a table for example in social networks.

    3. Do you use graph databases in your work? For what purpose?
    I don't use graph database in my work.

    4. List (at least) 2 uses of graph databases in which the relational database wouldn't be suitable
    1) social networks
    2) information networks

    I have found some information on this site:
    http://www.persson.com.pl/media/prospects/570f6cb9716f5grafowe_bazy_danych.pdf

    ReplyDelete
  7. I don't see any reasons why relational databases would disappear. It's very convenient for example for large companies as well structured data can be easily use by analytics.

    I'm not sure if even the scalability argument is really valid. Relational databases can be for example partitioned so it's not like a database have to live on a single machine which maximum capacity can be limited due to technological advancements. For example Google offers BigQuery and it wouldn't be possible if relational databases weren't scalable.

    In the article it's mentioned that graph database paradigm is better for storing data about social networks. I doubt if even Facebook stores its data in non relational database. Maybe having the data defined as a graph would be more convenient in some cases (for example to analyse social network phenomena), at the end of the day, when we have to query our model and display to user with the id nsdf08328 all his friends, a relational database is probably involved.

    ReplyDelete
    Replies
    1. In your second answer you mentioned that Google offers BigQuery which let for distributed process,but the point is that on the same devices with similar configuration you can get result much more faster using graph database :)

      Delete
  8. 1. Do you think that in the future the relational database systems will disappear?

    I believe that the relational database system will not disappear because it is suitable for some types of solutions and nowadays the right tool should be chosen for what you want to achieve. Relational database systems may be ideally suited to describe some problems, but in others there may be other types of better database systems, depending on what type of problem you are focusing on and system architecture, speed of records or readings, an appropriate database type should be chosen.

    2. Do you see other features besides speed and scalability that classify the graph databases as better than the relational approach?

    Graph databases are good for problems defining dependencies between objects, queries about similar objects, where, for example, we have a structure of society in which we build dependencies between members of this community and we want to apply various dependencies. In the case where we have a relational database, some questions and problems may be difficult and may not be solvable, whereas when used to describe a problem of a graph database a problem solution could be relatively easy to describe.

    3. Do you use graph databases in your work? For what purpose?

    In my work, I am currently using the Neo4J graph database to describe the dependencies between users who have different types of documents and different conclusions are drawn from these documents.

    4. List (at least) 2 uses of graph databases in which the relational database wouldn't be suitable.

    First - Description of dependencies between users on facebook and the second - dependencies of communication nodes on the network

    ReplyDelete
    Replies
    1. I agree that relation database don't disapeare fast, because they are really easy to use and they have much more specjalist which can use them ;)

      I can add to your fourth answer that I seen how network traffic connection nodes are created in real time-awesome :D! I wouldn't suppose that it can looks like that. The new nodes were created every few seconds and their numbers were huge!

      Delete
  9. 1. Currently, there are more and more NoSQL databases that allow you to collect data from Facebook and Twitter. Corporations want to collect different data about their users more and more often, not only their personal data, earnings or interests, so databases must be created in this direction. However, relational database systems still have their benefits and successes, they are convenient to use, it is hard for me to imagine a database of any office or library based on a different database than a relational database.

    2. In contrast to relational databases, graph databases can store social network data and other relationships that can not be represented as a table or can not be scaled. Graphical databases have fewer problems with the performance of SQL queries that include table joins. They are better suited to the currently popular paradigms of software development, especially dynamic and object oriented languages.

    3. Unfortunately not.

    4. Twitter uses the FlockDB database to store a community graph containing information on who is watching who, etc. In April 2010, the FlockDB Twitter database had over 13 trillion edges, and the number of operations reaches 20,000 records per second and 100,000 readings per second. No relational database would be able to handle information related to social media.
    The graph database can also be used for the representation of biological information, which large volume, management and analysis are difficult due to the automation of the data activation process.

    ReplyDelete
    Replies
    1. You suprised me! I have never heard that graph database are using to represent biological information. Did you mean for gene extraction?

      Delete
  10. 1. Do you think that in the future the relational database systems will disapear?
    Of course no, relational databases are sort of inevitable, as the very concept of relation in a math abstract. There are loads that are not suited for relational databases, but still there is plenty of data to stuff into RDBMS. Also, I notice many people look at their specific use-case, notice it is better to use graph (or document, or key-value store...), and then conclude: "relational databases are over". But the real world usages are diverse.

    2. Do you see other features besides speed and scalability that classify the graph databases as better than the relational approach?
    We are talking speed and scalability for some loads of course. I think the graph query languages are better suited to formulate some kinds of questions about data.

    3. Do you use graph databases in your work? For what purpose?
    No, nothing of that kind. But I've spent some quality time studying Cypher query language.

    4. List (at least) 2 uses of graph databases in which the relational database wouldn't be suitable.
    Apart from social graphs, maybe some data about relations of physical objects or entities - like financial transactions or flow of documents or goods - while it's possible to store those things in RDBMS, it's much more pleasant to analyze this data from graph databases.

    ReplyDelete
  11. 1.Do you think that in the future the relational database systems will disapeer?

    I think that there will be always some area where relational data base will be the best solution. From my observation globally distributed data bases gaining on popularity in latest time.

    2.Do you see other features besides speed and scalability that classify the graph databases as better than the relational approach?

    Graph DB are suited for different purposes and address other set of problems. For querying big or small related data Graph has superior performance. For a given query, the graph doesn't investigate or load unrelated data. A graph is an excellent feature for big data queries.

    3. Do you use graph databases in your work? For what purpose?

    No, I didn’t so far, but I will be using Cosmos DB in near future

    4. List (at least) 2 uses of graph databases in which the relational database wouldn't be suitable.
    Graph DB is suitable for these types of certain scenarios, where the nature of the query emulates a graph, for example: for connected data like social network or, irregular complex structures.

    ReplyDelete
  12. 1. Do you think that in the future the relational database systems will disappear?
    I really don’t know – maybe they will. However, I suppose that the reason why relational databases may survive is that there is a lot of already existing systems which use relational databases and it would be hard and expensive to change them into graph ones. On the other hand hardly anyone teaches graph databases, so engineers do not know this solution yet.

    2. Do you see other features besides speed and scalability that classify the graph databases as better than the relational approach?
    Yes, to my mind the graph databases allow analyzing (for example detailed selection) relations between objects, which is not allowed in relational databases. In addition, graphs are a very wide mathematical area, so you can definitely use them in many contexts.

    3. Do you use graph databases in your work? For what purpose?
    No, I don’t know them – it’s a new topic for me :)

    4. List (at least) 2 uses of graph databases in which the relational database wouldn't be suitable.
    As I wrote, graph databases can be used wherever we want to analyze relations - not entities. Some network databases work on the principle of graphs, so I think that in these cases it is also possible to use graph databases.

    ReplyDelete
  13. 1. Do you think that in the future the relational database systems will disapeer?

    We have been dealing with Big Data for a few years. The amount of incremental data increases every year. I can not imagine suddenly disappearing. A lot of companies currently use relational databases and converting them to another type could be labor-intensive and very expensive. Certainly, for some decades to come, relational databases will be the foundation of databases.

    2. Do you see other features besides speed and scalability that classify the graph databases as better than the relational approach?

    Graph databases allow you to calculate the shortest path in a node. They are very flexible, because after adding new data to existing graphs, the application does not lose its functionality.

    3. Do you use graph databases in your work? For what purpose?

    Unfortunately, at the moment I do not use this tool in my work, but it may be useful later.

    4. List (at least) 2 uses of graph databases in which the relational database wouldn't be suitable.

    I think that AllegroGraph as RDF and SAP HANA as in-memory ACID transaction supported property graph.

    ReplyDelete
  14. 1. Do you think that in the future the relational database systems will disapeer?

    I think that the relational database systems will not disappear in a few future. Nowadays, most of systems are based on relational databases. Big companies and banks often store their data using relational database systems. I have some friends who work with banking systems and they say that some of the systems are based on languages or technologies which do not exist nowadays but the systems are so extensive that any major change is not feasible. I cannot imagine any major company using relational database to switch to non-relational database. It would generate enormous costs.
    However the topic of non-relational databases is very interesting and I suppose that non-relational databases will be more and more popular in the future.

    2. Do you see other features besides speed and scalability that classify the graph databases as better than the relational approach?

    I read some articles about the graph databases on the Internet and I found some advantages which are listed below.
    Graph databases allow data analysts to navigate through data sets without the need to create and run complex queries to join combinations of tables together, as in the relational model. They have superior performance for querying related data. Graph databases offer a flexible online schema evolvement while serving your query. The relational database just cannot easily adapt to this requirement, which is commonplace in the modern data management era. Graph databases serve as great Artificial Intelligence infrastructure due to well-structured relational information between entities, which allows one to further infer indirect facts and knowledge.

    3. Do you use graph databases in your work? For what purpose?

    No, I do not use any graph database in my work. I am an academic teacher but I do not have any classes which are related to database.

    4. List (at least) 2 uses of graph databases in which the relational database wouldn't be suitable.

    The graph database could be applied in the systems where the mutual connections are obvious. The first example could be the social networks. The second example might be recommendation system.

    ReplyDelete
  15. 1. Do you think that in the future the relational database systems will disappear?

    Maybe, they won't exactly totally dissapear, but they won't be used as widely as they are used.

    2. Do you see other features besides speed and scalability that classify the graph databases as better than the relational approach?

    They are flexible and enable analysing relations between objects. What's more they usually increase the speed of data processing.

    3. Do you use graph databases in your work? For what purpose?

    Not really.

    4. List (at least) 2 uses of graph databases in which the relational database wouldn't be suitable.

    The first thing I thought of was representing relations in social network and basically nothing else came to my mind.

    ReplyDelete
  16. 1. Do you think that in the future the relational database systems will disappear?
    I think that the relational database systems will not disappear.
    One of the reasons of such belief are some other old solutions that still work, for example in banks.
    What is more, putting data in the new system is too expensive.
    2. Do you see other features besides speed and scalability that classify the graph databases as better than the relational approach?
    To be honest I don’t see any features that make the graph databases better than relational approach.
    Such systems are better for specific usage, that’s just it.
    3. Do you use graph databases in your work? For what purpose?
    No, I must say that I don’t use any graph databases in my work, so I can not answer about the purpose.
    4. List (at least) 2 uses of graph databases in which the relational database wouldn't be suitable.
    NoSQL seems to work better on unstructured and unrelated data, and unfortunately that is the only example I can give You right now.

    ReplyDelete

  17. 1. Do you think that in the future the relational database systems will disapear?

    No, probably never. We may replace SQL, but the relational model is a mathematical concept, and it will be always there, like regular expressions, recursion and... graphs!

    2. Do you see other features besides speed and scalability that classify the graph databases as better than the relational approach?

    No.

    3. Do you use graph databases in your work? For what purpose?

    No, I don't. I might have problems, which would be probably suitable for using graph DBs, but a relational model can also be used to represent the data, so I never needed them. Also, at work there is a rule to use 'what everybody else is using'.

    4. List (at least) 2 uses of graph databases in which the relational database wouldn't be suitable.

    - Multimedia storage
    - Deeply nested structures with relationships between all kinds of objects, and no 'relational schema' of these objects - where modeling it in a relational way would actually introduce an intractable amount of entities, and made the relational query approach useless (we need to know what we join in a query, there is no 'join any table').

    ReplyDelete
  18. One more thing - I would compare the SQL vs NoSQL to the 'static' vs 'dynamic' typing in programming. Actually without dynamic programming there would be no progress at all (Lisp, a dynamic language is the second HLL after FORTRAN), but after a new idea is explored, then the "architects" come back, and want to put everything to nice, separate boxes. So first JavaScript, and then, after a while, we'll have TypeScript, which then is better for 'large projects'.

    ReplyDelete
  19. Hi,thanks for interesting subject.
    Answering the first question I’d like to start with some philosophy – everything goes away at last… but I don’t think it will happen so fast in this case with graph databases, because their specific features and usages won’t allow to forget them before something instead is worked out.
    The primary difference between graph databases and relational approach is that the first one, the relationships are stored at the individual record level, while in the second, the structure is defined at a higher level (the table definitions). This has important ramifications, first of all, a relational database is much faster when operating on huge numbers of records. In a graph database, each record has to be examined individually during a query in order to determine the structure of the data, while this is known ahead of time in a relational database. Apart from that, relational databases use less storage space, because they don't have to store all of those relationships.
    Storing all of the relationships at the individual-record level only makes sense if there is going to be a lot of variation in the relationships; otherwise you are just duplicating the same things over and over. This means that graph databases are well-suited to irregular, complex structures. But in the real world, most databases require regular, relatively simple structures. This is why relational databases predominate.
    Unfortunately I don’t have too much practical experience in analytic work with databases. As I now, however, there are situations a graph database may work better than relational database for reasons coming from the nature of the given case, for example if it contains a number of Many-To-Many relationship; even if it contains a number of One-To-One or One-To-Many relationships though, a graph database may make this easier to represent. Graph databases are generally much more flexible in the way that they allow you to store data, allowing for much more fluidity of the data present in each location. And, if we want to do complex data analysis, or potentially expensive queries spanning multiple types of data, then a graph database may make this easier to achieve and will possibly make the queries run more efficiently.
    BR
    Marta

    ReplyDelete