UNIVERSIDAD TECNOLÓGICA DE TAMAULIPAS
NORTE
PROYECTO:
“BDCN Unit 1 Activity 1”
TECNICO SUPERIOR UNIVERSITARIO EN
TECNOLOGIAS DE LA INFORMACION AREA:
DESARROLLO DE SOFTWARE
MULTIPLATAFORMA
PRESENTA:
LUIS DANIEL VILLANUEVA VAZQUEZ
CD. REYNOSA, TAMAULIPAS MAYO 2024.
Index
TOPIC PAGE
Index................................................................................................................... i
1. Introduction................................................................................................1
2. Non-relational DB.....................................................................................2
2.1 Concept..........................................................................................................2
2.2 MongoDB:...................................................................................................... 2
2.3 Cassandra......................................................................................................3
3. Object-oriented DB..................................................................................4
3.1 Concept..........................................................................................................4
3.2 db4o............................................................................................................... 4
3.3 ObjectDB........................................................................................................5
4. Document-oriented DB...........................................................................6
4.1 Concept..........................................................................................................6
4.2 Couchbase.....................................................................................................6
4.3 Apache CouchDB...........................................................................................7
5. Conclusion..................................................................................................8
i
1. Introduction
In the ever-evolving landscape of database management, the emergence of
non-relational databases has revolutionized the way data is stored, accessed,
and managed. Unlike traditional relational databases, non-relational databases,
also known as NoSQL databases, offer flexible data models, horizontal
scalability, and high performance, making them suitable for modern applications
with diverse data requirements. Among the various types of non-relational
databases are document-oriented, object-oriented, and key-value stores, each
catering to specific use cases and data structures.
In this discourse, we delve into the fundamental concepts of non-relational
databases, exploring their characteristics, advantages, and prominent examples
in the industry. Additionally, we examine object-oriented databases, which store
data in the form of objects, and document-oriented databases, which organize
data as documents, offering insights into their functionalities and real-world
applications.
1
2. Non-relational DB
2.1 Concept
Non-relational databases are designed to handle unstructured or semi-
structured data and offer flexible schemas. They are often used in scenarios
where data requirements are evolving rapidly, or where high scalability and
performance are critical.
2.2 MongoDB:
Concept
MongoDB is a document-oriented NoSQL database that stores data in flexible,
JSON-like documents. It provides a rich query language and indexing
capabilities.
Features
Scalability: MongoDB supports horizontal scalability through sharding, allowing it
to handle large volumes of data and high throughput.
Flexibility: Documents in MongoDB can have varying structures, making it
suitable for storing data with dynamic schemas.
2
High availability: MongoDB offers built-in replication and automatic failover to
ensure data availability and reliability.
2.3 Cassandra
Concept
Cassandra is a distributed column-oriented NoSQL database designed for high
availability and scalability. It is optimized for write-heavy workloads and provides
tunable consistency.
Features
Distributed architecture: Cassandra's decentralized architecture allows it to
scale linearly across multiple nodes without a single point of failure.
Flexible data model: It supports wide rows and allows efficient storage and
retrieval of large amounts of data.
Tunable consistency: Cassandra offers tunable consistency levels to balance
performance and data consistency based on application requirements.
3
3. Object-oriented DB
3.1 Concept
Object-oriented databases store data in the form of objects, allowing for a
seamless integration between the application's programming language and the
database. They are well-suited for object-oriented programming languages and
applications with complex data models.
3.2 db4o
Concept
db4o is an open-source object-oriented database for Java and .NET platforms. It
provides native support for object persistence and retrieval without the need for
an ORM layer.
Features
Transparent persistence: Objects in db4o are stored directly as they are in
memory, simplifying the development process.
Embedded mode: db4o can be used in embedded mode, allowing applications
to store data without a separate database server.
4
Query support: It offers a rich query API for retrieving objects based on their
attributes and relationships.
3.3 ObjectDB
Concept
ObjectDB is a high-performance object-oriented database for Java applications.
It supports JPA (Java Persistence API) and offers a seamless integration with
Java EE frameworks.
Features
Native object storage: ObjectDB stores objects directly without the need for
mapping them to relational tables, resulting in higher performance.
ACID transactions: It supports ACID (Atomicity, Consistency, Isolation,
Durability) transactions for ensuring data integrity.
Indexing: ObjectDB provides indexing capabilities for efficient querying of
objects based on their properties.
5
4. Document-oriented DB
4.1 Concept
Document-oriented databases store data in the form of documents, which are
self-describing and can contain nested structures. They are ideal for applications
dealing with semi-structured data and where flexibility in schema design is
important.
4.2 Couchbase
Concept
Couchbase is a distributed document-oriented and key-value NoSQL database.
It offers a distributed architecture with built-in caching and high availability.
Features
JSON document model: Couchbase stores data in JSON documents, allowing
for flexible schema design and easy integration with modern web applications.
High performance: It provides sub-millisecond latency and high throughput for
read and write operations, making it suitable for real-time applications.
6
Built-in caching: Couchbase includes an integrated caching layer to improve
read performance and reduce database load.
4.3 Apache CouchDB
Concept
Apache CouchDB is an open-source document-oriented database that uses a
distributed architecture for storing and syncing data. It provides a RESTful HTTP
API for data access.
Features
Replication: CouchDB supports bi-directional replication, allowing data
synchronization between multiple database instances and devices.
Conflict resolution: It offers conflict resolution mechanisms for resolving conflicts
that may arise during replication.
Incremental MapReduce: CouchDB uses incremental MapReduce for efficient
querying and aggregation of data stored in JSON documents.
7
5. Conclusion
In conclusion, the evolution of non-relational databases represents a paradigm
shift in data management, offering unprecedented flexibility, scalability, and
performance for modern applications. From the document-oriented nature of
MongoDB to the object-oriented approach of db4o, and the distributed
architecture of Couchbase, each type of non-relational database brings unique
strengths to the table, catering to diverse data needs and use cases.
As organizations continue to embrace digital transformation and grapple with
ever-growing data volumes, non-relational databases stand as a cornerstone of
modern data infrastructure, empowering businesses to innovate, scale, and
derive actionable insights from their data assets.