What you'll learn:
- Build a flexible data model capable of working with graph, document, key/value, and time-series information
- Employ object orientation when designing and interacting with your data
- Learn how AI helps build out the graph, and then graph supercharges generative AI
- Understand the drivers behind NoSQL technologies
- Access a live database instance and run the examples
- Learn the differences between relational and NoSQL data models
- Implement most major SQL functions, including basic CRUD operations
- Get your FlexVertex certification
The FlexVertex training class is structured to provide a comprehensive understanding of how to design, interact with, and leverage the FlexVertex platform for modern data management needs. The course covers the evolution of NoSQL technologies, the unique features of FlexVertex, and practical hands-on exercises to solidify learning.
### Course Structure and Contents
**1. Course Introduction**
- **Objective**: To understand the drawbacks of legacy NoSQL technologies and discover how FlexVertex addresses these issues.
- **Content**: Overview of FlexVertex's philosophies, intended audience, prerequisites, and the use case for the exercises.
- **Example Use Case**: A large online travel company similar to Expedia, demonstrating travel reservations, social networking, and credit card applications.
**2. The Rise of NoSQL**
- **Objective**: To explore the reasons behind the rise of NoSQL and its major technologies.
- **Content**: Explanation of what NoSQL is, driving factors for its adoption, and an overview of key/value, time series, columnar, document, and graph databases.
- **Shortcomings**: Discussion on the limitations of NoSQL technologies, including issues with referential integrity, transactions, security, and ease-of-use.
**3. About FlexVertex**
- **Objective**: To introduce FlexVertex and its advantages over first-generation NoSQL technologies.
- **Content**: Details about FlexVertex's Data Multiverse™, object orientation, pluggable storage, and multi-model capabilities. Emphasis on simplicity, reliability, and extensive support for different data models.
**4. Designing for FlexVertex**
- **Objective**: To learn how to design a FlexVertex database using object-oriented principles.
- **Content**: Definition of classes and properties, implementation of constraints, and creation of connections. Practical examples include designing a class hierarchy, defining properties, and implementing constraints.
**5. Data Operations**
- **Objective**: To master the creation and connection of data objects within the FlexVertex environment.
- **Content**: Detailed instructions on creating data objects, setting properties, and establishing connections. The unit includes exercises to practice these operations on a live instance.
**6. Querying Data**
- **Objective**: To learn how to write powerful and far-reaching queries to unlock the full potential of FlexVertex.
- **Content**: Explanation of query structures and syntax, examples of queries on the sample database, and advanced querying techniques. The unit concludes with exercises to practice querying on a live instance.
### Objectives
By the end of the course, participants will:
1. **Understand the Limitations of Legacy NoSQL Technologies**: Recognize the challenges faced by earlier NoSQL solutions and how they fall short in modern data management scenarios.
2. **Discover FlexVertex’s Solutions**: Learn how FlexVertex addresses the shortcomings of traditional NoSQL technologies with its innovative features and design philosophies.
3. **Design Robust Databases**: Gain the skills to design a FlexVertex database using object-oriented principles, creating a flexible and scalable data management solution.
4. **Populate and Manage Data**: Learn to populate the FlexVertex Data Multiverse™ with various data types and structures, ensuring efficient data management.
5. **Master Advanced Queries**: Develop the ability to write complex queries that leverage FlexVertex's multi-model capabilities, enhancing data retrieval and analysis.
The course is designed for a diverse audience, including application developers, architects, database administrators, and business users, ensuring that all participants can effectively use FlexVertex in their respective roles.