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., SELECT or UPDATE
        • 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*Net
            • TCP/1433: Microsoft SQL Server
            • TCP/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
      • 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

Info

  • All RDBMS platforms support NoSQL datastores
  • are also dedicated NoSQL platforms
    • e.g., MongoDB, Amazon DynamoDB, CouchDB