Placeholder Image

Subtitles section Play video

  • When choosing a database, you may experience analysis paralysis.

  • I understand.

  • The number of choices can feel overwhelming, and more options are being engineered every

  • year.

  • Today, we survey the many options publicly available to human engineers, such as yourself.

  • So remain calm and do not lose your head.

  • Youre going to need that.

  • In this video, we are focused on selecting a RELATIONAL database, because you use SQL

  • to talk to such systems...

  • One way to divide databases is into free and commercial.

  • Some of the oldest and most established commercial databases are from Oracle, IBM, and Microsoft.

  • These options are decades old and have a lot of inertia behind them.

  • Millions of lines of code have been written to interact with these databases.

  • But as more people became software engineers, demand grew for a lower cost or free alternative.

  • This gave rise to the open source movement and helped produce MySql.

  • MySql is the “M” in the LAMP stack - Linux, Apache, MySql, and PHP.

  • But MySql is not alone in the free and open source category.

  • There is also Postgres

  • MariaDB

  • SQLite and dot-dot-dot.

  • If money is in short supply, then one of the free, open source databases will serve you

  • well.

  • They are supported by an EXTREMELY polite community of users.

  • But if you would prefer to pay a company to provide on-demand support, then feel free

  • to research the commercial options.

  • Another deciding factor is the size of your database and number of users who will access

  • your data.

  • Are you working with small amounts of data being used by a small group or people?

  • Or are you storing petabytes of data that needs to be served to millions of people around

  • the world simultaneously?

  • If you have tiny amounts of data being accessed by a tiny group of people, then installing

  • a database on your own tiny server is an excellent choice.

  • Everything is under your control.

  • Costs are fixed.

  • But if you are serving vast amounts of data to a vast number of simultaneous users, then

  • your decision may becomecloudy?

  • We are entering the era of cloud computing.

  • You can now let others worry about the hardware for you.

  • This way you can focus on the software.

  • Focus on the software...

  • The Tech Giants have built massive data centers all over the globe.

  • These data centers offer unparalleled capacity, and extremely low latency.

  • Instead of a small cluster of computers, a data center consists of tens of thousands

  • of servers assembled in an impressive arrangement with hypnotic blinky lights.

  • They have world class security, redundant power supplies, and more.

  • With this computing power, they offer a vast selection of services, but we will focus on

  • their databases.

  • In addition to proprietary data storage solutions, they also support popular open source databases

  • like MySql, Postgres, and MariaDB.

  • When using a cloud database, you specify your requirements: data center location... hardware

  • requirements... backup needs...

  • You are then billed on usage, much like a utility.

  • Many companies offer a small, free database to encourage you to try their service.

  • But once your usage goes beyond the hobby level, you will receive a bill.

  • Next, ask yourself: what will you do with all of your data?

  • Because cloud providers do more than host databases in their data centers.

  • They also offer a wide array of services.

  • File storage

  • Analytics

  • Artificial Intelligence and Machine Learning solutions

  • Remember, your database is just one part of your overall system.

  • Do you want to use your data to train classifiers?

  • Will you be building TensorFlow models, for example?

  • Do you need image recognition capabilities?

  • Or speech recognition?

  • You may save money by storing your data locally, but building your infrastructure from the

  • ground up and maintaining it can be time consuming.

  • Cloud solutions may cost more in terms of money, but they may cost less in terms of

  • TIME.

  • This brings you to a personal decision: what time-money trade off are you comfortable with?

  • If money is tight, then working locally using free tools is probably best.

  • However, if you or your business has the budget, cloud services offer a very attractive proposition.

  • Another way to help you decide is to look into the future.

  • Are you working on an app that could spike in popularity?

  • If so, then you need to think about scalability.

  • Specifically, the ability to scale horizontally.

  • This means if there is a surge in data and demand, you need the ability to rapidly add

  • more servers to handle the load.

  • If sudden growth is a possibility, then a cloud solution will act as an umbrella, letting

  • you enjoy the rain of data.

  • The cloud service is not really an umbrella.

  • I am using what people call a “simile.”

  • In reality, cloud services are software running in data centers.

  • Here is another consideration.

  • What if you only need a modest database now, but want to be ready to move to the cloud

  • in the future.

  • In this case, choosing Postgres or MySQL would be a good compromise.

  • You can keep the database on your own tiny server for now, but rest assured there are

  • compatible versions in the cloud if the need were to arise.

  • And migrating from a local Postgres or MySql database to one in the cloud is fairly straightforward.

  • Of the free, open source relational databases with broad cloud support, there are three

  • standouts: MySql, Postgres, and MariaDB.

  • Is there any significant difference between them?

  • Not much in terms of core functionality.

  • All three are solid, open-source, and well-established databases.

  • And you can run them locally or in the cloud.

  • In recent years, MySql has stopped growing in popularity and has seen a mild decline

  • in market share as the competition has grown.

  • Meanwhile, Postgres and MariaDB continue to grow in popularity, with Postgres leading

  • the way.

  • While MySql is owned by Oracle, neither Postgres nor MariaDB are owned by a single company.

  • Their continued development is supported by a large and enthusiastic group of engineers

  • scattered around the world.

  • The number of factors to consider when choosing a database can be overwhelming.

  • But remember this: most of what you will learn will transcend the specific database you use.

  • SQL, database design, and optimization are skills you will need regardless of the database

  • you select.

  • So do not hit the panic button.

  • Instead, press thedownloadbutton and try the databases for yourself.

  • Make use of the free quotas from cloud providers.

  • Try creating the same database in MySql, Postgres, MariaDB or some other database.

  • Which did you prefer?

  • The choice is yours...

  • It is an exciting time to be selecting a relational database.

  • Gone are the days when databases were expensive, and you had to devote significant resources

  • in support of your servers.

  • Storage is becoming increasingly commoditized.

  • We are standing on the shoulders of giant engineers, and it is time to explore the ocean

  • of data before us

  • This is just a metaphor.

  • In reality, you are likely sitting in a chair about to write some code

  • But you can still do something dramatic.

  • Support us on Patreon!!

When choosing a database, you may experience analysis paralysis.

Subtitles and vocabulary

Click the word to look it up Click the word to find further inforamtion about it