Database Services
A database provisions information in a format that can be read and updated through some type of query language.
- two main types of databases:
- relational databases
- store information in tables with rows (records) and columns (fields)
- relationships between data fields in different tables is created using key fields that uniquely identify each record
- operated using Structured Query Language (SQL)
- defines commands to retrieve information or to change it
- e.g.,
SELECTorUPDATE
- e.g.,
- implemented in relational database management systems (RDBMS) platforms by several different vendors
- RDBMS provides management tools and a GUI to operate the database
- a remote access protocol allows:
- a client to connect to the database server over the network
- replication traffic to move between database servers
- is a means of synchronizing the data held on each server
- each RDBMS uses a different TCP port:
TCP/1521: Oracle’s remote data access protocol SQL*NetTCP/1433: Microsoft SQL ServerTCP/3306: MySQL- open source
- MariaDB platform uses same port
- forked from MySQL
TCP/5432: PostgreSQL- open source
- these are the principle ports
- RDBMS is likely to use other TCP or UDP ports for other functions
- ports are insecure by default
- RDBMS server can be installed with a certificate and configured to enable TLS transport encryption
- connection is made over the same port
- server or client can be configured to require encryption
- can drop the connection if valid security profile is not available
- client can also be installed with a certificate and the server configured to refuse connections from clients without a valid certificate
- defines commands to retrieve information or to change it
- NoSQL (not only SQL) databases
- rather than highly structured relational tables, NoSQL data can use a variety of formats
- E.g., key-value pairs, wide columns (rows do not have to have the same set of fields)
- typically accessed using an API over HTTPS
- rather than highly structured relational tables, NoSQL data can use a variety of formats
- relational databases
Info
- All RDBMS platforms support NoSQL datastores
- are also dedicated NoSQL platforms
- e.g., MongoDB, Amazon DynamoDB, CouchDB