
In this course you’ll gain first-hand experience of why FlexVertex is the ideal technology to help you make sense of the massive data volume, velocity, and variety that your organization is currently coping with. It combines informative lectures with dozens of hands-on exercises and examples. To get a login to your own private instance for running the samples, email us at the address shown and we’ll provide all that you need.
To help orient you, we'll spend a few minutes describing what you’ll be experiencing in this training class including its structure and the use case that you’ll be working with.
FlexVertex is a unified information management platform inspired by first-generation NoSQL technologies. It leverages the strengths of graph document key-value and time series databases as well as wide column stores like Cassandra and HBase. However, we optimize these features further for the enterprise. Our platform is designed to be powerful, simple, and reliable, ensuring it meets the demanding needs of modern businesses.
This lecture describes important features that you can take advantage of when designing your own information model in FlexVertex.
This lecture briefly introduces you to the use case and examples you’ll see throughout this course.
In this course we'll use a real-world use case inspired by a large online travel company similar to Expedia, Orbitz, MakeMyTrip, or Ctrip. This relatable example will help you understand FlexVertex’s capabilities through familiar scenarios such as travel reservations, social networking, and credit card applications. By the end of this course, you’ll see how FlexVertex can be applied to complex real-world problems, providing robust solutions for data management and integration.
With object orientation so critical in the FlexVertex Data Multiverse, let’s spend a few minutes understanding the classes – both base and derived – that comprise our examples. This is only meant to provide an overview so we will show these in more detail later when it’s time to interact with your own FlexVertex instance.
Now that you’ve seen the class inheritance for this course let’s look at some of the relationships – implemented via connections – that you’ll continually experience.
Understand what NoSQL means - and what it doesn't mean
There’s no doubt that NoSQL technologies continue their march towards widespread acceptance. In this lecture, we’ll provide a number of ideas about why this is happening, along with a quick list of some of the most notable examples of these products.
Key/value databases are a type of NoSQL database that store data as pairs of keys and values, allowing for highly efficient retrieval and storage operations. Understanding them is crucial for designing scalable, high-performance applications that require rapid access to large volumes of simple data structures.
Time-series databases are specialized databases optimized for storing and querying time-stamped or time-series data, such as metrics, events, or measurements that change over time. Understanding them is important for applications that require efficient handling of continuous data streams, such as monitoring systems, financial analysis, and IoT data management.
Columnar databases are designed to store data in columns rather than rows, optimizing for read-heavy operations and enabling efficient analytical queries on large datasets. Understanding them is crucial for improving performance in data warehousing, business intelligence, and real-time analytics applications.
Document databases are a type of NoSQL database that store data as structured documents, often in JSON or XML formats, allowing for flexible and hierarchical data representation. Understanding them is important for developing applications that require scalable storage, easy data retrieval, and handling of complex data structures, such as content management systems and real-time web applications.
Graph databases are designed to store and manage data as nodes and edges, representing entities and their relationships, which enables efficient querying of complex interconnected data. Understanding them is important for applications that require traversing relationships and uncovering patterns, such as social networks, recommendation systems, and fraud detection.
Throughout this section, we've highlighted the benefits of NoSQL technologies, but it's crucial to recognize their challenges. Many NoSQL initiatives have succeeded, yet some fail due to missing features like referential integrity, relationships, transactions, and robust security, which relational databases offer. Fortunately, the next section shows how FlexVertex addresses these shortcomings, allowing NoSQL to reach its full potential.
In this video, we'll lay out the goals for the overall section, along with introducing you to the demonstration data and connection classes that you'll use for the hands-on exercises
Instead of being an afterthought, object orientation is fundamental to everything in a FlexVertex implementation. This video demonstrates just how pervasive it is.
Transitioning from a relational or first generation NoSQL product to FlexVertex opens up a broad range of possibilities. In this video, we’ll provide a brief overview of how you might take advantage of object orientation when designing classes for your FlexVertex environment.
Getting your classes configured just right is just the beginning. Next, you’ll want to define properties to hold the information that you’ll be storing in FlexVertex. That’s what this video is all about.
Inheritance in a database context is an amazingly potent capability. In this lecture, we’ll look at one example of this option.
Many first generation NoSQL products have lacked certain essential features. Constraints is just one example. In this lecture, we’ll show you how FlexVertex constraints can bolster your database’s integrity.
Earlier in this class, we told you about how relational databases have had scalability challenges when attempting to connect billions or trillions of rows. As you’ve seen, instead of rows and columns, FlexVertex employs objects. Its connection architecture is a highly efficient way to tie together massive numbers of objects, which is what we’ll discuss now.
You'll work with your own, live FlexVertex instance to create the classes you've seen defined in this section.
In the previous unit, we provided you with a taste of designing classes for your data and their connections. Now it’s time to put your design to the test and start working with data.
FlexVertex offers you a wide range of techniques to work with your data. This unit explores some of the most notable options.
This video shows you a number of different approaches to creating data in FlexVertex. We’ll also point you at the hands-on exercises that you can try on your own.
FlexVertex ships with a comprehensive demonstration database. This sample information will be used extensively in the upcoming data querying unit. Since we don’t want you to inadvertently overwrite or delete objects that will be used later, we’ll create some example classes for the data creation, update, and deletion videos. These new classes are related to the mainline demonstration database, but you can experiment with their data without interfering with other examples.
Connections are what enable the amazingly powerful queries and traversals offered by the FlexVertex Data Multiverse. In this video, we’ll briefly describe what they are, how they work, and then show you how to create both class-based and named connections. Searching on connections will be in a later unit in this course.
In FlexVertex, changing data is very similar to other types of databases. But because everything is an object, there are some differences. This unit introduces you to how to properly carry out these operations, while making you aware of special considerations for objects such as connections.
FlexVertex is built on the twin concepts of object orientation and unlimited data connectivity. Until this point, we’ve shown you how to design, populate, and change your FlexVertex database. It’s now time to apply all that you’ve learned to see how to construct straightforward queries to traverse your own information.
Querying a graph is fundamentally different than querying tables in a relational database. This lecture provides an example of a straightforward graph query that would overwhelm traditional SQL. It sets the stage for a more detailed discussion of FlexVertex Voyager.
We’ll spend the next few minutes introducing you to Voyager: what it is, what’s special about it, and how it overcomes some of the major impediments to running graph queries.
It’s now time to present several examples of Voyager’s syntax. Each of these samples uses data from our demonstration database, so you can try them out for yourself. If you’re interested in a more detailed reference, be sure to check out the online manual.
Graph traversals are powerful techniques for exploring relationships and patterns within data, allowing you to uncover insights that traditional methods might miss. Whether you're mapping social networks, optimizing supply chains, or analyzing complex datasets, graph traversals can transform your data analysis capabilities. With FlexVertex Voyager, writing these traversals becomes intuitive and efficient, thanks to its user-friendly syntax and robust features. In this unit, we present some more complex navigation examples.
We’ve created dozens of queries to help you get an idea of what’s possible with FlexVertex SQL and Voyager. This video shows you where to find them and how to run them using the Cartographer interface within FlexVertex Commander.
In this video, we’ll tell you about what motivated us to start the company, describe our product architecture, and explain how we’ve combined power, simplicity, and reliability into an affordable solution.
This video presents you with a collection of our capabilities that showcase the product’s power. To bring these concepts to life, we’ll provide some real-world usage scenarios. Leveraging any – or all – of these features will help you deliver a much more powerful NoSQL-based application than anything you’ve previously experienced. We’ll go through some of these capabilities in detail in the next few minutes.
Complexity – whether forcing developers to use multiple specialized, isolated NoSQL databases or mandating mastery of intricate, arcane languages before even attempting to extract value – has plagued modern applications for years. In this lecture, we’ll tell you about a number of FlexVertex features designed to make things simpler.
Above all, a database needs to be reliable. In this video, we highlight several of the key reasons why FlexVertex is the most dependable NoSQL platform.
If you’ve been examining first generation NoSQL technologies, you’ll probably notice that many of the capabilities you see here are absent from the solutions you’ve explored. We’ll discuss many of them in the next few minutes.
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.