YSQL Development Fundamentals Training Recap – Feb 25, 2021
Yesterday we delivered our free “YSQL Development Fundamentals” community training and certification class. A special thanks to Karen Tamrazyan and a variety of Meetup groups for hosting and helping promote the event! If you weren’t able to make it, here’s what you missed…
In this 90 min training aimed at beginner and intermediate SQL developers, we’ll covered the following topics:
- YugabyteDB Architecture Review
- Local 3-Node Installation
- Basic Administration
- Installing a Sample Database
- Configuring Graphical SQL Development Tools
- Working with the YSQL Shell
- Schemas and Databases
- Table Management
- Data Types
- Data Manipulation
We worked through almost 80 exercises that showed how developers can immediately leverage their PostgreSQL knowledge and apply it to YugabyteDB. Check out this post to learn more about why it’s straightforward to apply PostgreSQL knowledge to YugabyteDB: “Why We Built YugabyteDB by Reusing the PostgreSQL Query Layer”
If you missed the YSQL Development Fundamentals Training, no problem. Join us on the YugabyteDB Community Slack and tag me: @Jimmy G (YB) in the #training channel and I’ll get you set up with everything you need.
If you are brand new to distributed SQL and want to start with the basics, check out the “YugabyteDB Fundamentals” course and certification exam. You can take the course online on Udemy and take the certification exam afterwards.
To see all of the training opportunities offered, visit the Yugabyte University page.
Congratulations to Hartanto Ario Widjaya for being the first community member to pass the exam with a near perfect score. Well done!
On a scale of 1 to 5, with 1 being easy and 5 being very difficult, the average response rated the exam a 3.8. This tells us it was a moderately challenging exam for many folks, so some careful studying is required in order to pass. We did, however, provide all attendees with a study guide to make the preparation for the exam a lot easier. Good luck to those who are gearing up to take the exam in the coming days.
We had quite a few questions pop up during and after the training. I wasn’t able to get to all the questions in real time, so I wanted to recap a few of them in this blog post.
Yugabyte is the company behind the open source YugabyteDB project.
YugabyteDB is an open source, high-performance distributed SQL database built on a scalable and fault-tolerant design inspired by Google Spanner. YugabyteDB is PostgreSQL wire compatible, cloud native, and supports advanced RDBMS features like stored procedures, triggers, and UDFs.
Yuga in Sanskrit represents an era or an epoch (about 4.32 million human years), which is a very long period of time! We picked the name Yugabyte to signify data that lives forever and without limits.
Yes. If you are currently using PostgreSQL, it is a fairly straightforward process to migrate to YugabyteDB. Why? YugabyteDB is PostgreSQL compatible so the vast majority of the SQL syntax is supported right out-of-the-box. If you are thinking about migrating from SQL Server, MySQL, or Oracle the complexity of switching will be very similar to as if you were making the move to PostgreSQL. So, if your application is making use of very specific features or syntax that you can’t find in PostgreSQL, then you’ll have to factor that in.
For more information on migration best practices, check out the Migrate section in the Docs.
In general, if you can get your data into a CSV file you can use the normal COPY command to get the data into YugabyteDB.
Generically, OLAP is not the best use case for YugabyteDB. YugabyteDB offers two APIs.
YSQL is a fully-relational SQL API that is wire compatible with the SQL language in PostgreSQL. It is best fit for RDBMS workloads that need horizontal write scalability and global data distribution while also using relational modeling features such as JOINs, distributed transactions and referential integrity (such as foreign keys).
YCQL is a semi-relational SQL API that is best fit for internet-scale OLTP and HTAP apps needing massive write scalability as well as blazing-fast queries. It supports distributed transactions, strongly consistent secondary indexes and a native JSON column type. YCQL has its roots in the Cassandra Query Language.
At the moment neither PostgreSQL nor YugabyteDB support an equivalent to Oracle Packages.
Npgsql should be the driver to use. More info, check out the Docs concerning drivers.
YugabyteDB can run on Mac, Linux, Kubernetes and Docker. So, if your Windows machine can emulate or run the options listed, you should be able to install YugabyteDB. Of course, YugabyteDB supports all the major public clouds including AWS, GCP, and Azure.
Check out the Architecture section in the Docs. It contains in-depth details on how the YugabyteDB distributed SQL database is designed and how it can deliver strong consistency, high performance, resilience and horizontal scalability in a single systems
The next training and certification in this series is happening on April 22. Make sure to reserve your spot early!