[
Overview of Database Programming¶
Let us get an Overview of Database Programming.
- When we develop web or mobile applications, data is typically stored in RDBMS Databases such as Oracle, Postgres, Mysql etc..
- Even data for reporting and analytics is typically stored in Data Warehouse or MPP Databases such as Redshift, Snowflake, Teradata etc.
- Here are different varieties of Databases for different purposes.
- RDBMS – for example: Oracle, Mysql, Postgres, informix, MS SQL, DB2 etc.
- Data Warehouse – for example: Teradata, Vertica, Greenplum, RedShift, Snowflake etc.
- NoSQL – for example: MongoDB, Cassandra, HBase, DynamoDB etc.
- Search based – Elasticsearch, Solr etc
- Graph based – Neo4J
- Almost all the databases provide JDBC driver to connect to the database from application layer.
- Web or Mobile Applications are typically developed using Programming Languages like Python, Scala, Java etc.
- Data Engineering is typically done by tools such as Informatica or Programming Languages such as Python.
- We need to use the JDBC or ODBC driver provided to connect to the specific database where ever Databases are involved irrespective of the database that is used.
- Also one should be familiar with underlying Database Concepts to be comfortable with Database programming.
- Typically Databases will be setup on remote servers and accessible using the following information:
- Server IP or DNS Alias on which Database Server is running.
- Port Number using which Database Server is running.
- Username
- Password
- Database Name
- We typically perform CRUD Operations against our databases for Web or Mobile Applications for the transactions.
- For non transactional use cases, we typically process data in batches either with in Databases or off load to ETL tools or distributed processing engines.
{note}
As part of this module we will primarily focus on CRUD operations.
]