This document compares the performance of object databases and ORM tools for object persistence. It finds that object databases have easier setup and are faster for storing and retrieving complex objects. However, relational databases with ORM provide better configuration of domain models and easier reporting and data mining. Performance tests showed object databases were faster for create, store, traverse, and query operations while an ORM was slower, especially for queries.
This course is all about the data mining that how we get the optimized results. it included with all types and how we use these techniques.This course is all about the data mining that how we get the optimized results. it included with all types and how we use these techniques.This course is all about the data mining that how we get the optimized results. it included with all types and how we use these techniques.This course is all about the data mining that how we get the optimized results. it included with all types and how we use these techniques.This course is all about the data mining that how we get the optimized results. it included with all types and how we use these techniques
This course is all about the data mining that how we get the optimized results. it included with all types and how we use these techniques.This course is all about the data mining that how we get the optimized results. it included with all types and how we use these techniques.This course is all about the data mining that how we get the optimized results. it included with all types and how we use these techniques.This course is all about the data mining that how we get the optimized results. it included with all types and how we use these techniques.This course is all about the data mining that how we get the optimized results. it included with all types and how we use these techniques
Adbms 11 object structure and type constructorVaibhav Khanna
Unique Identity:
An OO database system provides a unique identity to each independent object stored in the database.
This unique identity is typically implemented via a unique, system-generated object identifier, or OID
The main property required of an OID is that it be immutable
Specifically, the OID value of a particular object should not change.
This preserves the identity of the real-world object being represented.
Type Constructors:
In OO databases, the state (current value) of a complex object may be constructed from other objects (or other values) by using certain type constructors.
The three most basic constructors are atom, tuple, and set.
Other commonly used constructors include list, bag, and array.
This Presentation is about NoSQL which means Not Only SQL. This presentation covers the aspects of using NoSQL for Big Data and the differences from RDBMS.
Difference between File system And DBMS.pptxShayanMujahid2
In this presentation the difference between the file system and database management, and why databases are preferable. Not only is a database more reliable and secure than a file system, but it also allows you to modify the data easily.
Collections Framework is a unified architecture for managing collections, Main Parts of Collections Framework
1. Interfaces :- Core interfaces defining common functionality exhibited by collections
2. Implementations :- Concrete classes of the core interfaces providing data structures
3. Operations :- Methods that perform various operations on collections
ACID properties
Atomicity, Consistency, Isolation, Durability
Transactions should possess several properties, often called the ACID properties; they should be enforced by the concurrency control and recovery methods of the DBMS.
Ensemble Learning is a technique that creates multiple models and then combines them to produce improved results.
Ensemble learning usually produces more accurate solutions than a single model would.
Adbms 11 object structure and type constructorVaibhav Khanna
Unique Identity:
An OO database system provides a unique identity to each independent object stored in the database.
This unique identity is typically implemented via a unique, system-generated object identifier, or OID
The main property required of an OID is that it be immutable
Specifically, the OID value of a particular object should not change.
This preserves the identity of the real-world object being represented.
Type Constructors:
In OO databases, the state (current value) of a complex object may be constructed from other objects (or other values) by using certain type constructors.
The three most basic constructors are atom, tuple, and set.
Other commonly used constructors include list, bag, and array.
This Presentation is about NoSQL which means Not Only SQL. This presentation covers the aspects of using NoSQL for Big Data and the differences from RDBMS.
Difference between File system And DBMS.pptxShayanMujahid2
In this presentation the difference between the file system and database management, and why databases are preferable. Not only is a database more reliable and secure than a file system, but it also allows you to modify the data easily.
Collections Framework is a unified architecture for managing collections, Main Parts of Collections Framework
1. Interfaces :- Core interfaces defining common functionality exhibited by collections
2. Implementations :- Concrete classes of the core interfaces providing data structures
3. Operations :- Methods that perform various operations on collections
ACID properties
Atomicity, Consistency, Isolation, Durability
Transactions should possess several properties, often called the ACID properties; they should be enforced by the concurrency control and recovery methods of the DBMS.
Ensemble Learning is a technique that creates multiple models and then combines them to produce improved results.
Ensemble learning usually produces more accurate solutions than a single model would.
Use Performance Insights To Enhance MongoDB Performance - (Manosh Malai - Myd...Mydbops
Performance improvement, debugging, and monitoring are essential parts of the DBE(Database Engineering Team) role. The presentation present intriguing strategies, techniques, and tools that can be used to address or circumvent the majority of performance-related problems in this MongoDB Performance.
CaSSanDra: An SSD Boosted Key-Value StoreTilmann Rabl
This presentation was held by Prashanth Menon at ICDE '14 on April 3, 2014 in Chicago, IL, USA.
The full paper and additional information is available at:
http://msrg.org/papers/Menon2013
Abstract:
With the ever growing size and complexity of enterprise systems there is a pressing need for more detailed application performance management. Due to the high data rates, traditional database technology cannot sustain the required performance. Alternatives are the more lightweight and, thus, more performant key-value stores. However, these systems tend to sacrifice read performance in order to obtain the desired write throughput by avoiding random disk access in favor of fast sequential accesses.
With the advent of SSDs, built upon the philosophy of no moving parts, the boundary between sequential vs. random access is now becoming blurred. This provides a unique opportunity to extend the storage memory hierarchy using SSDs in key-value stores. In this paper, we extensively evaluate the benefits of using SSDs in commercialized key-value stores. In particular, we
investigate the performance of hybrid SSD-HDD systems and demonstrate the benefits of our SSD caching and our novel dynamic schema model.
These are the slides from the presentation I gave to the Sencha meetup group in Austin, TX. It covers the NoSQL-NodeJS-ExtJS development stack at a high level.
Most developers get started building applications without giving a lot of thought to their database. Either they get told that the company does everything with Database X, or they Google around and end up using MySQL or MS Access. Neither of these is the wrong choice, but it's often not the best choice. I was one of those guys, first with Access and then MySQL. As I've moved through my career, I've used a lot of database systems, both relational and non-relational ("NoSQL"), and my go-to choice has become PostgreSQL.
I'm not going to spend much time on the "SQL vs NoSQL" debate. It's sort of a straw man argument, because they're solving a variety of fundamentally different problems. It's also much better in discussion format, for that same reason: so much variety.
Like everything else in technology, there is no one-size-fits-all solution, but I want to show why I think it's a great first choice for most things, and the reasons why a lot of other options fall short. Your choice of database can shape a lot of how you build your application, how well it performs, and how it can grow over time. It can be a productivity boon, or force you to constantly working around it's limitations. As application developers, we should be spending our time solving business problems, not on low-level technology plumbing.
This session is intended for people who have built a few database-backed applications, and are curious about what options are out there and how to go about choosing between them.
Postgres has been proven to process document database workloads faster than MongoDB in benchmark testing. But there are multiple benefits to using Postgres over a specialized solution for such applications.
Application developers are finding new ways to combine schema-less data with traditional relational tables and deliver innovative applications faster while meeting evolving DevOps strategies and goals. Providing a single, ACID-compliant enterprise-ready database that can manage both structured and unstructured data supports the development process and reduces overall complexity.
Learn what Postgres can help you achieve. This covers:
-- Using JSON/JSONB and HSTORE to combine schema-less data with enterprise information
-- Build on existing skillsets while using web 2.0 development technologies
-- Reduce complexity that comes with using multiple heterogeneous platform and disparate application demands
-- New performance benchmark results showing Postgres outperforms MongdoDB
If NoSQL is your answer, you are probably asking the wrong question.Lukas Smith
This session is not about bad mouthing MongoDB, CoachDB, big data, map reduce or any of the other more recent additions to the database buzzword bingo. Instead it is about looking at how NoSQL is a confusing term and a more realistic assessment how old and new approaches in databases impact todays architectures...
NoSQL is not a buzzword anymore. The array of non- relational technologies have found wide-scale adoption even in non-Internet scale focus areas. With the advent of the Cloud...the churn has increased even more yet there is no crystal clear guidance on adoption techniques and architectural choices surrounding the plethora of options available. This session initiates you into the whys & wherefores, architectural patterns, caveats and techniques that will augment your decision making process & boost your perception of architecting scalable, fault-tolerant & distributed solutions.
Revolutionizing the Data Abstraction Layer with IBM Optim pureQuery and DB2Vladimir Bacvanski, PhD
Vladimir Bacvanski and Dan Galvin
Looking for a more flexible and efficient way for Java programs to access the database? Join us as we explore how you can
bridge the gap between Java and relational databases. Enhance your Java environment with access layer generation, data
access best practices, traceability between Java packages and SQL statements, improved impact analysis and more. And most importantly, see how new technology can improve not only new development, but existing applications as well. Be prepared to
see designs and code samples!
A powerful ORM tool to design data base access layer.
Fills gaps of mismatches between OOPs and RDBMS paradigm. Also maintains adequate ultra performance of database access.
An automated, configurable persistence of java objects with tables in data base.
May not be a good solution for data-centric application which uses only stored procedures to implement business logic in the database.
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
State of ICS and IoT Cyber Threat Landscape Report 2024 previewPrayukth K V
The IoT and OT threat landscape report has been prepared by the Threat Research Team at Sectrio using data from Sectrio, cyber threat intelligence farming facilities spread across over 85 cities around the world. In addition, Sectrio also runs AI-based advanced threat and payload engagement facilities that serve as sinks to attract and engage sophisticated threat actors, and newer malware including new variants and latent threats that are at an earlier stage of development.
The latest edition of the OT/ICS and IoT security Threat Landscape Report 2024 also covers:
State of global ICS asset and network exposure
Sectoral targets and attacks as well as the cost of ransom
Global APT activity, AI usage, actor and tactic profiles, and implications
Rise in volumes of AI-powered cyberattacks
Major cyber events in 2024
Malware and malicious payload trends
Cyberattack types and targets
Vulnerability exploit attempts on CVEs
Attacks on counties – USA
Expansion of bot farms – how, where, and why
In-depth analysis of the cyber threat landscape across North America, South America, Europe, APAC, and the Middle East
Why are attacks on smart factories rising?
Cyber risk predictions
Axis of attacks – Europe
Systemic attacks in the Middle East
Download the full report from here:
https://sectrio.com/resources/ot-threat-landscape-reports/sectrio-releases-ot-ics-and-iot-security-threat-landscape-report-2024/
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...SOFTTECHHUB
The choice of an operating system plays a pivotal role in shaping our computing experience. For decades, Microsoft's Windows has dominated the market, offering a familiar and widely adopted platform for personal and professional use. However, as technological advancements continue to push the boundaries of innovation, alternative operating systems have emerged, challenging the status quo and offering users a fresh perspective on computing.
One such alternative that has garnered significant attention and acclaim is Nitrux Linux 3.5.0, a sleek, powerful, and user-friendly Linux distribution that promises to redefine the way we interact with our devices. With its focus on performance, security, and customization, Nitrux Linux presents a compelling case for those seeking to break free from the constraints of proprietary software and embrace the freedom and flexibility of open-source computing.
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfPaige Cruz
Monitoring and observability aren’t traditionally found in software curriculums and many of us cobble this knowledge together from whatever vendor or ecosystem we were first introduced to and whatever is a part of your current company’s observability stack.
While the dev and ops silo continues to crumble….many organizations still relegate monitoring & observability as the purview of ops, infra and SRE teams. This is a mistake - achieving a highly observable system requires collaboration up and down the stack.
I, a former op, would like to extend an invitation to all application developers to join the observability party will share these foundational concepts to build on:
Enhancing Performance with Globus and the Science DMZGlobus
ESnet has led the way in helping national facilities—and many other institutions in the research community—configure Science DMZs and troubleshoot network issues to maximize data transfer performance. In this talk we will present a summary of approaches and tips for getting the most out of your network infrastructure using Globus Connect Server.
PHP Frameworks: I want to break free (IPC Berlin 2024)Ralf Eggert
In this presentation, we examine the challenges and limitations of relying too heavily on PHP frameworks in web development. We discuss the history of PHP and its frameworks to understand how this dependence has evolved. The focus will be on providing concrete tips and strategies to reduce reliance on these frameworks, based on real-world examples and practical considerations. The goal is to equip developers with the skills and knowledge to create more flexible and future-proof web applications. We'll explore the importance of maintaining autonomy in a rapidly changing tech landscape and how to make informed decisions in PHP development.
This talk is aimed at encouraging a more independent approach to using PHP frameworks, moving towards a more flexible and future-proof approach to PHP development.
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
Removing Uninteresting Bytes in Software FuzzingAftab Hussain
Imagine a world where software fuzzing, the process of mutating bytes in test seeds to uncover hidden and erroneous program behaviors, becomes faster and more effective. A lot depends on the initial seeds, which can significantly dictate the trajectory of a fuzzing campaign, particularly in terms of how long it takes to uncover interesting behaviour in your code. We introduce DIAR, a technique designed to speedup fuzzing campaigns by pinpointing and eliminating those uninteresting bytes in the seeds. Picture this: instead of wasting valuable resources on meaningless mutations in large, bloated seeds, DIAR removes the unnecessary bytes, streamlining the entire process.
In this work, we equipped AFL, a popular fuzzer, with DIAR and examined two critical Linux libraries -- Libxml's xmllint, a tool for parsing xml documents, and Binutil's readelf, an essential debugging and security analysis command-line tool used to display detailed information about ELF (Executable and Linkable Format). Our preliminary results show that AFL+DIAR does not only discover new paths more quickly but also achieves higher coverage overall. This work thus showcases how starting with lean and optimized seeds can lead to faster, more comprehensive fuzzing campaigns -- and DIAR helps you find such seeds.
- These are slides of the talk given at IEEE International Conference on Software Testing Verification and Validation Workshop, ICSTW 2022.
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
In his public lecture, Christian Timmerer provides insights into the fascinating history of video streaming, starting from its humble beginnings before YouTube to the groundbreaking technologies that now dominate platforms like Netflix and ORF ON. Timmerer also presents provocative contributions of his own that have significantly influenced the industry. He concludes by looking at future challenges and invites the audience to join in a discussion.
The Metaverse and AI: how can decision-makers harness the Metaverse for their...Jen Stirrup
The Metaverse is popularized in science fiction, and now it is becoming closer to being a part of our daily lives through the use of social media and shopping companies. How can businesses survive in a world where Artificial Intelligence is becoming the present as well as the future of technology, and how does the Metaverse fit into business strategy when futurist ideas are developing into reality at accelerated rates? How do we do this when our data isn't up to scratch? How can we move towards success with our data so we are set up for the Metaverse when it arrives?
How can you help your company evolve, adapt, and succeed using Artificial Intelligence and the Metaverse to stay ahead of the competition? What are the potential issues, complications, and benefits that these technologies could bring to us and our organizations? In this session, Jen Stirrup will explain how to start thinking about these technologies as an organisation.
Securing your Kubernetes cluster_ a step-by-step guide to success !KatiaHIMEUR1
Today, after several years of existence, an extremely active community and an ultra-dynamic ecosystem, Kubernetes has established itself as the de facto standard in container orchestration. Thanks to a wide range of managed services, it has never been so easy to set up a ready-to-use Kubernetes cluster.
However, this ease of use means that the subject of security in Kubernetes is often left for later, or even neglected. This exposes companies to significant risks.
In this talk, I'll show you step-by-step how to secure your Kubernetes cluster for greater peace of mind and reliability.
Securing your Kubernetes cluster_ a step-by-step guide to success !
Object persistence
1. Performance of Object Persistence
By Vlad Vega
Article: "Comparing the Performance of Object Databases
and ORM Tools" by Pieter van Zyl, University of Pretoria,
Pretoria, South Africa, 2006
2. Contents
Intro to the Problem of Persistence
Relational DBMS + Impedance Mismatch
Object Persistence methods
Object Oriented DBMS
ORM
Test & Results
Conclusion
3. Intro
Applications store and
retrieve data.
Persistence: Storing state.
Apps written using OOP
methodology.
How to store objects into
a DB?
Most companies use
RDBMS to persist data.
Intro--RDBMS--ObjectPersistence--OODBMS--ORM--Test&Result--Conclusion
4. Relational DB
Store data in tables with
rows&cols.
Foreign key reference
relationships.
SQL language.
Joins used to aggregate inter-table
data.
Data Mining and Reporting.
Intro--RDBMS--ObjectPersistence--OODBMS--ORM--Test&Result--Conclusion
5. Impedance mismatch
OO encapsulation of object
representation.
OO Interfaces vs DB Views
OO inheritance and Polymorphism.
OO List/map manipulation vs. Set
OO has atomic primitives vs one unit
of revokable work.
Intro--RDBMS--ObjectPersistence--OODBMS--ORM--Test&Result--Conclusion
6. Object Persistence Methods
Relational Database
(App layer)
Object-Relational DB
(Map DB layer)
Object Oriented DB
(DB is OO)
Intro--RDBMS--ObjectPersistence--OODBMS--ORM--Test&Result--Conclusion
7. Object-Relational DBMS
ORM in DB layer.
SQL (but more OO)
Data Mining and Reporting
Allows user to define Data Types
Still closer to relational DBMS.
Intro--RDBMS--ObjectPersistence--OODBMS--ORM--Test&Result--Conclusion
8. Object Oriented DBMS
Simple to Set up.
Storage: Objects with
pointers to other
objects.
Query Types: (NoSQL)
SODA.
Native.
QBE
Performance of query
types.
Intro--RDBMS--ObjectPersistence--OODBMS--ORM--Test&Result--Conclusion
10. Compare Databases
OODBMS
Short set up time.
Easily changeable Schema.
Quick retrieval/save of complex objects without complex
SQL queries.
RDBMS
Impedance Mismatch
Joins slow performance.
Huge amount of time required for writing queries to
persist objects.
Intro--RDBMS--ObjectPersistence--OODBMS--ORM--Test&Result--Conclusion
11. What an ORM Does
Engineer doesn’t write all CRUD
queries.
Separation of concern: Info hiding.
Database Independence
Map complex application domain with
inheritance, abstract classes, interfaces
to RDBMS.
Intro--RDBMS--ObjectPersistence--OODBMS--ORM--Test&Result--Conclusion
13. Performance: ORM vs. OODBMS
007 Benchmark
Complex and simple Objects.
Many-to-one, many-to-many.
Testing:
Stand alone application
created with persistence class.
Hibernate and db4o
implementations added.
Intro--RDBMS--ObjectPersistence--OODBMS--ORM--Test&Result--Conclusion
14. Results
Create+Store model:
Hibernate 2.5x slower
Traversal through model
Hibernate is slower
Queries
Hibernate is much
slower
Insert and delete queries:
Hibernate 2x slower.
Intro--RDBMS--ObjectPersistence--OODBMS--ORM--Test&Result--Conclusion
15. Conclusion
OODBMS
Easy to set up
Fast
RDBMS+ORM
Configure domain model
Impedance Match
Easy reporting + Data Mining
Intro--RDBMS--ObjectPersistence--OODBMS--ORM--Test&Result--Conclusion
Many applications today use data that needs to be stored and retrieved.\nMost applications are written in an object oriented manner.\nWhat is the best approach when storing objects into DB?\n
Which DB is mostly used in industry today? Relational. I want give you a short descriptions of rdbms and then show you why it fits poorly with OO application code.\nRelational databases store data in table format with rows and columns.\nRDBMS uses foreign key relationships to refer to rows in different tables.\nSQL is used to communicate with the DB: read from, write to, create schema. Developers love this because they can directly interact with db, look at aggregate data. Ingrained into CS society.\nSQL joins are used to aggregate data from multiple tables for both data-mining and normal read-write functionality. SQL can give you data independent of the the object schema in the application.\n
Encapsulation objects (=hidden representation) is an OOP concept that is not held with a RDMBMS because you can query and change data in encapsulated objects.\nAccess to objects in object-oriented programs is allegedly best performed via interfaces that together provide the only access to the internals of an object. The relational model, on the other hand, utilizes derived relation variables (views) to provide varying perspectives and constraints to ensure integrity. Similarly, essential OOP concepts for classes of objects,inheritance and polymorphism are not supported by relational database systems.\nManipulative differences: RDBMS perform set-based operations on the data while OO languages deal with lists and hashtables.\nTransactions: With DBs, transactions are usually multiple queries that consist of multiple changes in maybe multiple tables until all the functionality of a given procedure is finished. Generally OOP languages have ensured atomic consistency of only primitive variable writes.\n\n\n\n\n \n
There are other kind of DBMSs \nIn an OO database the application objects are stored as objects.\nIn an Object Relational database the Object-relational mapping happens in the DB layer while the data is stored in a relational manner.\nWith a relational database, all object persistence must be done in the application layer. The use of ORMs like hibernate and active record are popular.\n
Engineers can Still use SQL.\nData mining is still just as easy and possible.\nObjects, classes and inheritance are directly supported in database schemas and in the query language. In addition, it supports extension of the data model with custom data-types and methods.\nExample code: Customer table C has a reference to an Address table in which there is a City column. You can write queries like this from your application if you use ORDBMS. \n
-It literally took me 5min from download to run my first query.\n-Data is not stored in tables. It’s actually stored like it is in memory: objects with pointers to other data structures and objects.\n-OODBMS query types: SODA (simple object database access), QBE (query by example), and native query (very object oriented query code- easy to read, type safe). (Show code and explain)\n-SODA query api is the oodbms low level api. Not type safe nor compile time checked. Use native queries instead but there are instances where you may need dynamically built queries => use SODA.\n-talk about how to query data when you store pilots in a car object: specific pilot prototype in QBE or car.getpilote.getname= "mike" in native\n\n\n\n
Cascading update + delete problems occur from updating all objects in an object’s collection member. Use what people frequently call lazy loading (at least people that work with the hibernate ORM). This simply means that when you load an object into memory from the db you do not extract all of the objects associated with it, but only extract them as they are required by the code dynamically. Same goes for updating an object (do you update all collections also? \n-db4o uses Activation methodology which retrieves data lazily and then further depth as required. In db4o it is as easy as simple “implementing the “Activation interface” => which gives you lazy loading.\n-Configurations that you need to handle with object persistence mechanism are super simple and you can use the EmbeddedConfiguration db4o class. Choose preferred depth of cascading. Then you can choose to create a new config when processing a different object.\n\n-All Inheritance, Array, data structure issues are handled in the application layer as you would handle the object if it was not in the db. \n\n\n
-RDBMS joins are the main factor in RDBMS that slows down performance.\n-in OODBMS it is really easy to change the schema of the DB- make very little changes to the code in order to do that. Sometimes this can be difficult with complex relationships in RDBMS.\n-\n\n
-Acts as a “separation of concern” between object persistence and application business logic.\n-Database Independance: allows api to communicate even if you change to a different DB.\n-It is not easy for engineers to map a complex domain model to a relational schema and once you have a schema set it is not simple to change it.\n\n\n
-Provides database communication api. Deals with session scope, DB transactions and rollbacks. For example- like I found a couple months ago, each time you store an assortment of objects in a db it needs to be in the same transaction because if u are store for instance 3 objects (dependant or not but for an action to be completed they all need to be completed) then you cannot first store one than another outside of a db transaction. Firstly, it slows the process and secondly if the second fails then the first save is not rolled back (uh oh- find it run a sql query....)\n-Relationship mappings: Most Difficult part. Say there is a many-to-many relationship btw objects A and B: you need to specify that a table with PKA+FKB and PKB +PKA needs to exist.\nDeals with inheritance concerns: Hibernate allows: 1class/table (duplicate info): 1 big table with all classes and a column to differentiate. \n-Dependencies: when an employee instance gets deleted so should it’s accompanying home address class.\n-Instead of writing SQL you will be writing domain model queries like: SELECT FROM com.proj.Employee WHERE weeklySalary > :salary (in other words you dont deal with tables- just objects and members. However- this has a drawback because instead of a plain SQL query you are always retrieving extra columns beyond the ones you are actually using. (at one point u will use some columns at another point in the logic, different ones will be necessary=>lower performance) \n-ORM allows you to specify how you deal with concurrency:\nOptimistic: longer transactions, longer sessions. vs Pessimistic, short transactions to avoid concurrency. Optimistic: transaction rolls back. Pessimistic: locking mechanisms.\nHUGE OVERHEAD\n \n\n