FoundationDB Introduction gives attendees an architectural introduction to NoSQL systems and the FoundationDB database. Students learn the principles behind the FoundationDB key-value storage cluster and how its characteristics shape the design and use of layered data solutions. The course covers directory and subspace creation, keys, and general data modeling best practices.
Students also learn how to perform transactions and work with complex data types. They use a range of programming models and learn how to tune and debug programs. By the end, attendees have the skills needed to start developing applications using FoundationDB.
Day one starts with a FoundationDB Overview lab where attendees install FoundationDB and make their first calls against it in Python. FoundationDB Consistency follows, with a lab that has students work through transactions and practice handling failures gracefully. Basic Data Modeling introduces directories and subspaces through hands-on data organization exercises, and Data Modeling In-Depth builds on that foundation with a lab covering tables, relationships, and composite models.
Day two shifts into operations, opening with Futures, Watches, and Streaming, where a lab has attendees try out several FoundationDB programming models side by side. The FoundationDB Architecture module includes a lab exploring a live cluster, giving attendees a firsthand look at how data spreads across storage nodes. Distributed FoundationDB then moves the discussion to Kubernetes, with a lab that has attendees deploy an FDB cluster themselves. The course wraps up with Tuning, Debugging, and Troubleshooting, whose closing lab has attendees identify and fix real application problems.
Who Should Attend
Developers, IT and QA Staff, Technical Managers, and DevOps personnel
What Attendees Will Learn
Upon completing FoundationDB Introduction, attendees will be able to:
- Explain FoundationDB’s key-value storage architecture
- Apply FoundationDB consistency and transaction handling
- Perform basic data modeling with directories and subspaces
- Apply in-depth data modeling, including tables and composite models
- Use Futures, Watches, and streaming programming models
- Explore FoundationDB cluster architecture
- Deploy distributed FoundationDB on Kubernetes
- Tune, debug, and troubleshoot FoundationDB applications
Prerequisites
Basic Linux command line skills are valuable but not required. This course is generally taught using the Python programming language (Please inquire for Go, C, Java or Ruby versions).