Sunday, February 26, 2023

Databases: Journal 8

Learning database management systems can be overwhelming for beginners like myself who have never had any hands-on experience. After taking this Introduction to Database course, here are the three most important concepts in this course:

  1. Understanding fundamental concepts: Before diving into specific database management systems, it was essential to understand the fundamental concepts that underpin all databases. These concepts include tables, records, fields, relationships, and primary keys. I found it especially useful to fully grasp these concepts to understand how to organize and manipulate data effectively.
  2. Hands-on experience: Databases are practical, and having hands-on experience to understand them was especially valuable in this course. The exercises and projects that we had reinforced the theoretical concepts mentioned above. These assignments covered data modeling, querying, indexing, and data manipulation. Lastly, working on a real-world project with Java Spring Boot helped solidify the newly acquired skills.
  3. Choosing the right database management system: Finally, learning how to select the right database management system was incredibly valuable. Learning about MySQL and MongoDB, and how they each handle data storage, scalability, and security prepared me to choose the correct technology for the given situation. Understanding the advantages and disadvantages of each system and learning how to make an informed decision based on the project requirements.
In conclusion, this database course emphasizes fundamental concepts, hands-on experience, and selecting the right database management system. With these skills, I can build robust and scalable databases for future projects.

Tuesday, February 21, 2023

Databases: Journal 7

Importance of Data Warehouse
A data warehouse is a large, centralized database that stores data from various sources in an organization. It is important to have a separate copy of the data in a data warehouse because it enables faster and more efficient analysis, separates operational and analytical systems, and provides a historical record of data. MySQL is one type of database technology that can be used for a data warehouse, but building a data warehouse requires careful planning and design, including creating a dedicated schema or set of tables for the data warehouse and using optimization techniques such as data partitioning and indexing to improve performance. 

Tuesday, February 14, 2023

Databases: Journal 6

 MongoDB vs MySQL

    All in all, when it comes down to similarities between MongoDB and MySQL, both are database systems that allow the user to insert, update, or delete information in a database. However, MongoDB differs in that, unlike MySQL, MongoDB's data is not structured. In MySQL, you have columns and rows that, through primary keys, relate to other tables. In MongoDB, data is not interconnected like this; data is loosely defined in its relation through the use of "documents." These differences also give MongoDB scalability capabilities that MySQL simply does not have. For example, if you need to expand a database without throwing more compute power at a single server, MongoDB would be the perfect solution; you would be able to separate querying into different servers instead of one central server.

Tuesday, February 7, 2023

Databases: Journal 5

 What is meant by a slow index?

Like in a book, SQL has indexes that make data retrieving theoretically faster. However, when a database is not implemented correctly a slower than expected output is achieved through in index. A contributing factor to a slow index can happen with many leaf nodes; when a database contains, for example, multiple entries of the same type, a query is not necessarily done when what the user was looking for is "found" because the rest of the database would need to be traversed; this happens because there is still a potential for the next leaf node to contain the desired result.