Relational Databases – How to Choose |¦| SQL Tutorial |¦| SQL for Beginners

Relational Databases – How to Choose  |¦|  SQL Tutorial  |¦|  SQL for Beginners


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. You’re 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 become … cloudy? 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 the “download” button 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!!

Danny Hutson

66 thoughts on “Relational Databases – How to Choose |¦| SQL Tutorial |¦| SQL for Beginners

  1. Where is our robot all the time in the video, and is this really a DBMS tutorial or cloud introduction😋 but as you do always, you're awesome robo with too many teeth😁😁😁😂😂

  2. I just want to mention firebird… My first choice as a Microsoft replacement in many small to medium size projects.

    https://firebirdsql.org

  3. “. . . By an extremely polite community of users” paired with your video clip— Not Fair! It was an effort suppress laughter to keep my coffee in my mouth. You’re as funny as informative, Socratica!

  4. Hello socratica, are toi giving This course on udemy? If yes then I would rather be your student. Your voice already and your approach makes it easy to understand.
    Thanks for posting

  5. You should be able to easely move between MySQL and MariaDB since MariaDB is based on MySQL (feel free to correct me if I'm wrong)

  6. SQLite is used everywhere you need a SQL database but don't need full feature database like the other mentioned. It's all over Android and Chome to store setting, cookies and other user data.

  7. MSSQL also has a lite free version that works with LINQ and Entity Framework, LocalDB, that works in the user context. When any of my apps or services start the DB service is started, when the last one closes so does the service. One can then move from LocalDB up to the Express, Standard, Enterprise and finally the cloud.
    All editions contain almost all the features. In other words, one can use python on the GPU with the the free LocalDB edition. Yes, that's right a SQL procedure can run python on the GPU.

  8. Thank you so much. That was very helpful. Perfect timing for this vid for me. I really appreciate it. Love the matrix glitch reference, I actually laughed out loud.

  9. I had studied sql. What you teach is easy to understand. I wish i had learned before.😀
    Thanks for your video..

    P.s.: could you please upload more history and frequently questioned science video…

  10. Amazing! This is a very good quality and super creative video. I'm learning SQL to prepare for job interviews and I'm enjoying your tutorials. I'll make sure to come back and support once I get a job 🙂

  11. you are just an amazing. very well explained and the most important thing you made yourself different than others by the way you present.

  12. Missed chance to say that everyone can use SQLite where it fits. You can use it for development, toy examples, standalone apps and anything of smaller scale. It's a pocket size thing you can bring to any small coding project.

  13. MySql does not support any physical join algorithm other than a Nested Loop, nor it supports parallelism, thus for a "Blog site" a MySQL is more than enough.
    For some intense web app that might require to aggregate data to present near real-time dashboards or "Gantt" view – better go with PostgreSQL since it scales better and has much better optimization that MySQL lacks.

  14. Do you love Socratica Programming videos? We have a Kickstarter to make 20 Advanced Python Lessons. Support what you love! http://bit.ly/PythonKickstarter

  15. It's official! The Socratica Python Kickstarter was a success! Thank you to all of our supporters. Because of you, many more Python videos coming soon!! 💜🦉

Leave a Reply

Your email address will not be published. Required fields are marked *