March 2022 Summaries
4 posts from Gel Data
Filter
Month:
Year:
Post Summaries
Back to Blog
Object-relational mapping (ORM) libraries are popular due to their usability benefits but come with important performance tradeoffs that are often poorly understood and quantified. To evaluate the performance of major ORM libraries, a new benchmarking tool called IMDBench has been open-sourced. The results show that ORMs have some unfortunate characteristics such as requiring multiple queries to fetch all the data needed for complex operations. This is why they are perceptually slower than raw SQL. However, it's important to understand the limitations of ORMs if you wish to make an informed decision regarding these technologies.
Mar 29, 2022
1,818 words in the original blog post.
Object-relational mapping (ORM) libraries have gained popularity for addressing usability issues with relational databases, yet they introduce significant performance tradeoffs that are often misunderstood. To provide clarity on ORM performance, a new benchmarking tool called IMDBench has been developed, simulating a hypothetical IMDB-style movie database to evaluate major ORM libraries' performance. The study highlights that ORMs, including modern ones like Prisma, often execute multiple queries for operations, leading to slower performance compared to raw SQL or tools like EdgeDB, which can handle complex operations with fewer queries. The benchmarking environment replicates realistic server-database latency conditions and utilizes a large dataset to simulate a production environment. Results indicate that while ORMs are slower, they offer usability benefits, making them suitable for applications with lower traffic but less ideal as they scale. EdgeDB is presented as a middle ground, offering the advantages of both SQL and ORM without the associated tradeoffs. The findings emphasize the importance of understanding ORMs' limitations to make informed technology choices, especially as application complexity and traffic increase.
Mar 29, 2022
2,021 words in the original blog post.
The graph-relational database model is an extension of the relational paradigm that represents data as strongly typed objects containing set-valued scalar properties and links to other objects. Unlike traditional relational databases, graph-relational databases assign a unique identity to each object, allowing for connections between objects through links. Additionally, attributes in this model have cardinality, specifying the number of values that can be assigned to them. The graph-relational model also treats everything as a set with known type and cardinality, enabling set-theoretic operations like union. This new database abstraction is considered a spiritual successor to the relational paradigm and offers an alternative approach for data representation and management.
Mar 02, 2022
1,064 words in the original blog post.
The graph-relational model is a new data representation paradigm that combines elements of graph and relational databases, offering a conceptual framework where data is represented as strongly typed objects with set-valued scalar properties and links to other objects. Unlike traditional relational databases, which require explicit foreign key constraints to manage relationships, the graph-relational model simplifies these connections through unique object identities and direct links, making them first-class citizens akin to graph databases. This model introduces cardinality as a core concept, allowing attributes to have specific constraints on the number of values they can hold, thus extending the relational model's capabilities. EdgeDB, the first production-ready implementation of this model, utilizes a query language called EdgeQL, which is designed to work with this paradigm and supports set-theoretic operations, including handling absence of data as empty sets instead of NULL values. As a spiritual successor to the relational paradigm, graph-relational databases like EdgeDB aim to provide a more intuitive and flexible approach to managing complex data relationships, potentially inspiring future databases with varying type systems and syntax.
Mar 02, 2022
1,120 words in the original blog post.