What is a Network Database?
A network database management system (network DBMS) is based on a network data model, which allows each record to be related to multiple primary records and multiple secondary records. Network databases allow you to create a flexible model of relationships between entities. The network model was proposed in 1969 by Charles Bachman, as an extension of the hierarchical database model.
The word “network” in network databases does not refer to connections between different computers and software (known as networking), but rather about relations between different data entities.
- How Does a Network Database Work?
- Network Data Model Pros and Cons
- Hierarchical vs Network Model vs Relational Database Model
- Network Database vs Graph Database
- Database Systems Using the Network Model
How Does a Network Database Work?
A network database is based on a traditional hierarchical database, except it allows each object to have multiple parents instead of a single parent. This allows you to model more complex relationships.
Network databases can be represented as a graph instead of a tree structure. The graph is defined by a schema, which is a list of data nodes and the relationships between them. This provides a data structure which, in a regular relational database, can only be accessed by inference.
Network databases provide a lot of flexibility, but are still limited to access patterns and design limitations of hierarchical databases. These limitations were later overcome by relational database management systems.
Network Data Model Pros and Cons
- Simple concept-like a hierarchical database, network databases are conceptually simple and easy to design.
- Multiple types of relationships-network models can support one-to-many and many-to-many relationships, which is useful for capturing real life relationships between entities.
- Data integrity-the network model does not allow members to exist without an owner.
- Data independence-the network model is superior to the hierarchical model in separating data processing from the details of physical storage.
- Data access-data access is faster and easier than in a hierarchical database.
- Complex implementation-all records must be stored using pointers, making database structure much more complex than in a hierarchical database.
- Inefficient operation handling-insertion, deletion and updating operations require many pointer adjustments, which can hurt performance.
- Non-flexible structure-it is difficult to change the structure of a database once it is already populated.
Hierarchical vs Network Model vs Relational Database Model
Below is a summary of the differences between a traditional hierarchical data model, a network data model, and the modern relational data model.
|Hierarchical Model||Network Model||Relational Model|
|Organizes data in a tree structure||Organize data into a graph structure||Stores data in tables|
|Represents one-to-many relationships||Represents many-to-many relationships||Supports one-to-many and many-to-many relationships|
|Inefficient access to data||Efficient access to data||Efficient access to data|
|Inflexible||Flexible when designing the database, less flexible after data is populated||Flexible both during design and after loading data|
Network Database vs Graph Database
Network databases are similar to a new type of non-relational database, the graph database. Here are some of the differences between network databases and graph databases.
|Network Database||Graph Database|
|Uses a schema that specifies which record type can be nested in which other record type||No restriction, any vertex can have an edge to any other vertex|
|The only way to access a record is through one of the access paths for that record||Possible to refer directly to all vertices with unique IDs, or use an index to find vertices with a specific value|
|The children of each record have a preset order, and the database has to maintain that ordering.||Vertices and edges are not sorted, only results are sorted when running a query.|
|Uses SQL query language||Supports declarative query languages like Cypher and SparQL|
Database Systems Using the Network Model
Integrated Data Store
Integrated Data Storage (IDS) was an early network database management system known for its high performance.
IDS was designed by Charles Bachman at General Electric, and won the Computer Society’s Turing Award in 1973.
IDS aims to maximize performance using available hardware, which was extremely limited at the time, so was not easy to use or implement applications using IDS. However, smart implementation of IDS type databases (such as British Telecom’s large CSS project) demonstrated a level of performance on terabyte-scale data unmatched in any modern relational database implementation.
The Integrated Database Management System (IDMS) used the CODASYL network model. Originally developed by B.F. Goodrich, since 1989 it was owned by Computer Associates, who renamed it CA IDMS.
Today CA IDMS is used as part of IBM z Systems as a high-performance database management system, and is used by hundreds of large enterprises and government agencies around the world. CAI IDMS/DB is a powerful database engine that provides both network and relational access, and uses the latest hardware to achieve high performance, including the IBM z Systems Integrated Information Processor (zIIP).
Raima Database Manager
Raima Database Manager (RDM) is an embedded relational database optimized to run on resource-constrained IoT edge devices requiring real-time responses.
RDM supports noSQL (record and cursor level database access), SQL database design and SQL-like data manipulations. Non-SQL functions are very important in an embedded system environment with highly limited resources. In such an environment, high performance and very small footprints come first. SQL is important for providing standard database access methods.
Network Database with Raima
Raima Database Manager, also called RDM, is an RDBMS (Relational Database Management System) developed for IoT Edge use cases. By combining the network and relational model technologies in a single system, RDM lets you organize and access information efficiently, regardless of the complexity of the data. The Raima database system is optimized to run as both an in-memory DBMS with the ability to persist data to disk or as a fully disk based database system. It is highly performant with low I/O latency and minimal processing overhead.
Raima Database Manager gives developers a rich set of database features, including multiple APIs and indexing methods requiring minimal resources. A great DBMS for embedded devices and applications running on real-time operating systems.
Explore the power of Raima Database Manager and get your free trial.