The document discusses migrations from PL/SQL and Transact-SQL to MariaDB. It covers:
- Enabling Oracle SQL mode in MariaDB to support PL/SQL syntax
- Supported Oracle and PL/SQL features like data types, sequences, stored procedures
- A toolkit for Transact-SQL migrations
- Live demonstrations of creating Oracle-style tables, sequences, and stored procedures in MariaDB
The document discusses window functions in SQL and how they allow users to access and aggregate over multiple rows of a result set, unlike regular functions which provide a single result per row. It provides examples of using window functions like row_number() and avg() to number rows, calculate averages over a window of rows, and explains how window frames define the range of rows included in the calculation. Overall, the document serves as an introduction to window functions and how they enable more powerful row-by-row calculations compared to regular functions.
M|18 Analyzing Data with the MariaDB AX PlatformMariaDB plc
The document summarizes new features in MariaDB AX, an open-source analytics platform. Key updates include: improved high availability and disaster recovery with GlusterFS support and parallel backup/restore; enhanced analytics capabilities like user-defined aggregate and window functions; and streamlined data ingestion with streaming and bulk data adapters for loading data from sources like Kafka and applications in real-time or batch. The platform provides scalable analytics on MariaDB ColumnStore through features like distributed storage, parallel queries, and automatic partitioning.
M|18 Creating a Reference Architecture for High Availability at NokiaMariaDB plc
This document proposes a reference architecture for providing high availability across multiple data centers using MariaDB and related open source tools. It summarizes:
- The need for a geo-redundant highly available database architecture at Nokia to support multiple product units.
- An evaluation of alternatives including Galera clusters and master-master replication between data centers.
- A proposed architecture using MaxScale for local master-slave replication within each data center and cross-data center replication between masters for redundancy.
- Testing and development of MaxScale plugins and scripts to support automatic failover and recovery after failures within or between data centers.
- Plans for containerized deployment of the database clusters and MaxScale using Kubernetes with additional
Michael Howard, CEO of MariaDB, presented on the company's usage and growth. MariaDB has become a top open-source database according to rankings, has received $54M in funding, and aims to differentiate itself from Oracle through compatibility with PL/SQL and temporal queries while also focusing on machine learning, distributed computing, and new technologies through its MariaDB Labs division.
M|18 What's New in the MariaDB AX PlatformMariaDB plc
The document discusses new features in MariaDB AX, an open source analytics platform. Key new features include: (1) Improved high availability and disaster recovery options using GlusterFS for local storage and parallel backup/restore. (2) Ability to perform custom analytics through user-defined aggregate and window functions. (3) Streamlined data ingestion with bulk and streaming data adapters that simplify and speed the process of loading data.
M|18 Choosing the Right High Availability Strategy for YouMariaDB plc
This document discusses MariaDB high availability strategies including replication, failover, and clustering. It defines key HA terminology and describes different replication topologies like asynchronous, semi-synchronous, and synchronous replication using Galera cluster. Use cases provided show how geographically distributed and production control systems benefit from MariaDB HA features.
How THINQ runs both transactions and analytics at scaleMariaDB plc
THINQ provides a cloud-based Communications-Platform-as-a-Service (CPaaS) that routes tens of millions of phone calls per day for customers in enterprise and telecommunications industries. In this session Sasha Vaniachine, Senior Database Administrator at THINQ, explains how he combined MariaDB Server and MariaDB ColumnStore to support both high-performance transaction processing and scalable analytics. In addition, he shares some of THINQ's best practices and lessons learned from supporting an ever-increasing database workload that currently exceeds 10,000 transactions per second.
The document discusses window functions in SQL and how they allow users to access and aggregate over multiple rows of a result set, unlike regular functions which provide a single result per row. It provides examples of using window functions like row_number() and avg() to number rows, calculate averages over a window of rows, and explains how window frames define the range of rows included in the calculation. Overall, the document serves as an introduction to window functions and how they enable more powerful row-by-row calculations compared to regular functions.
M|18 Analyzing Data with the MariaDB AX PlatformMariaDB plc
The document summarizes new features in MariaDB AX, an open-source analytics platform. Key updates include: improved high availability and disaster recovery with GlusterFS support and parallel backup/restore; enhanced analytics capabilities like user-defined aggregate and window functions; and streamlined data ingestion with streaming and bulk data adapters for loading data from sources like Kafka and applications in real-time or batch. The platform provides scalable analytics on MariaDB ColumnStore through features like distributed storage, parallel queries, and automatic partitioning.
M|18 Creating a Reference Architecture for High Availability at NokiaMariaDB plc
This document proposes a reference architecture for providing high availability across multiple data centers using MariaDB and related open source tools. It summarizes:
- The need for a geo-redundant highly available database architecture at Nokia to support multiple product units.
- An evaluation of alternatives including Galera clusters and master-master replication between data centers.
- A proposed architecture using MaxScale for local master-slave replication within each data center and cross-data center replication between masters for redundancy.
- Testing and development of MaxScale plugins and scripts to support automatic failover and recovery after failures within or between data centers.
- Plans for containerized deployment of the database clusters and MaxScale using Kubernetes with additional
Michael Howard, CEO of MariaDB, presented on the company's usage and growth. MariaDB has become a top open-source database according to rankings, has received $54M in funding, and aims to differentiate itself from Oracle through compatibility with PL/SQL and temporal queries while also focusing on machine learning, distributed computing, and new technologies through its MariaDB Labs division.
M|18 What's New in the MariaDB AX PlatformMariaDB plc
The document discusses new features in MariaDB AX, an open source analytics platform. Key new features include: (1) Improved high availability and disaster recovery options using GlusterFS for local storage and parallel backup/restore. (2) Ability to perform custom analytics through user-defined aggregate and window functions. (3) Streamlined data ingestion with bulk and streaming data adapters that simplify and speed the process of loading data.
M|18 Choosing the Right High Availability Strategy for YouMariaDB plc
This document discusses MariaDB high availability strategies including replication, failover, and clustering. It defines key HA terminology and describes different replication topologies like asynchronous, semi-synchronous, and synchronous replication using Galera cluster. Use cases provided show how geographically distributed and production control systems benefit from MariaDB HA features.
How THINQ runs both transactions and analytics at scaleMariaDB plc
THINQ provides a cloud-based Communications-Platform-as-a-Service (CPaaS) that routes tens of millions of phone calls per day for customers in enterprise and telecommunications industries. In this session Sasha Vaniachine, Senior Database Administrator at THINQ, explains how he combined MariaDB Server and MariaDB ColumnStore to support both high-performance transaction processing and scalable analytics. In addition, he shares some of THINQ's best practices and lessons learned from supporting an ever-increasing database workload that currently exceeds 10,000 transactions per second.
Getting the most out of MariaDB MaxScaleMariaDB plc
This document discusses how to get the most out of MariaDB MaxScale. It provides an overview of MariaDB MaxScale and the MariaDB platform. It then demonstrates how MariaDB MaxScale can be used to handle multiple paths and listeners, routing queries using hints, masking data, and rerouting queries. Live demos are shown of these MaxScale features. The document concludes by discussing MaxScale's flexible plugin-based architecture and capabilities for load balancing, failover, and transforming queries.
How Alibaba Cloud scaled ApsaraDB with MariaDB MaxScaleMariaDB plc
ApsaraDB is the leading cloud database in China with millions of database instances are running on it. However, the diversity and complexity of the mission-critical applications using it brought a huge challenge to ApsaraDB, scalability – a long-time pain point. To solve the problem, in middle of 2018 and after a careful evaluation, an elegant solution was found in MariaDB MaxScale. So far, the deep synergy of MariaDB MaxScale and ApsaraDB has proved very successful as thousands of high-demand customers of ApsaraDB are benefiting from a much-improved experience. In this presentation, we are going to share following topics:
- How ApsaraDB is using MariaDB MaxScale
- Best practices when leveraging MariaDB MaxScale with ApsaraDB
- Next steps and future plans for for MariaDB MaxScale and ApsaraDB
What to expect from MariaDB Platform X5, part 1MariaDB plc
MariaDB Platform X5 will be based on MariaDB Enterprise Server 10.5. This release includes Xpand, a fully distributed storage engine for scaling out, as well as many new features and improvements for DBAs and developers alike, including enhancements to temporal tables, additional JSON functions, a new performance schema, non-blocking schema changes with clustering and a Hashicorp Vault plugin for key management.
In this session, we’ll walk through all of the new features and enhancements available in MariaDB Enterprise Server 10.5. In addition, we will highlight those being backported to maintenance releases of MariaDB Enterprise Server 10.2, 10.3 and 10.4.
How to migrate from Oracle Database with easeMariaDB plc
MariaDB introduced Oracle Database compatibility last May with support for Oracle Database data types, sequences, stored procedures (PL/SQL) and more, making it easier than ever to migrate to MariaDB. In this session, MariaDB's Alexander Bienemann and Wagner Bianchi share best practices and lessons learned from our experiences helping customers migrate from Oracle Database. They explain how MariaDB approaches migrations, what’s needed to complete a successful migration and the tools used to determine the level of effort required.
How to make data available for analytics ASAPMariaDB plc
This document discusses how to make data available for analytics in MariaDB ColumnStore. It covers loading data using command line tools, SQL, and bulk write APIs. It also discusses integrating with applications via data adapters like Pentaho and MaxScale CDC. Future improvements may include integrated MaxScale CDC and performance enhancements to loading tools.
Maximizing performance via tuning and optimizationMariaDB plc
This document provides an overview of best practices for maximizing performance of MariaDB Server through tuning and optimization. It discusses general best practices like service level agreements and metrics collection. It also covers specific areas like server, storage, and network configuration, connection pooling, MariaDB configuration settings, query tuning using indexes and EXPLAIN, and monitoring tools like performance schema. The goal is to help users get the most out of their MariaDB deployment through performance analysis and tuning.
Global Data Replication with Galera for Ansell Guardian®MariaDB plc
Ansell Guardian® faced challenges with their previous database replication solution as their data and usage grew globally. They evaluated MariaDB/Galera and implemented it to replace their legacy solution. The implementation was smooth using automation scripts. MariaDB/Galera provided increased performance, faster deployment times, and more reliable data synchronization across their 3 data centers compared to their previous solution. It helped resolve a critical data divergence issue and improved the user experience. They plan to further enhance their database infrastructure using MaxScale in the future.
Deploying MariaDB databases with containers at Nokia NetworksMariaDB plc
Nokia is focused on providing software and products that facilitate rapid development, deployment and scaling of products and services to customers. The Common Software Foundation (CSF) within Nokia develops and supports product reuse by multiple applications within Nokia, including MariaDB. Their focus over the last year has been to develop a containerized MariaDB solution supporting multiple architectures, including both clustering and primary/secondary replication with MariaDB MaxScale. In this talk, Rick Lane discusses this journey of these containerized solutions from development to customer trials, including problems encountered and solutions.
Introducing the ultimate MariaDB cloud, SkySQLMariaDB plc
SkySQL is the first and only database-as-a-service (DBaaS) engineered for MariaDB by MariaDB, to use a state-of-the-art multi-cloud architecture built on Kubernetes and ServiceNow, and to deploy databases and data warehouses for transactional, analytical and hybrid transactional/analytical workloads.
In this session, we’ll lay out the vision for SkySQL, provide an overview of its capabilities, take a tour of its architecture, and discuss the long-term roadmap. We’ll wrap things up with a live demo of SkySQL, including a preview of its deep learning–based workload analysis and visualization interface.
How Pixid dropped Oracle and went hybrid with MariaDBMariaDB plc
Pixid replaced Oracle Database with MySQL in 2011, then soon migrated to MariaDB to get better performance, more features and synchronous clustering for high availability. In addition to high-performance transactions, their customers needed access to fast analytics for self-service reporting and data exploration. Pixid started with a separate columnar database for analytics, but with the release of MariaDB ColumnStore, they found a more elegant solution – deploying a single database platform to handle both transactions and analytics. In this session, Antoine Gosset and Jérôme Mouret share how Pixid went from Oracle Database to handling both transactional and analytical workloads with MariaDB.
Inside CynosDB: MariaDB optimized for the cloud at TencentMariaDB plc
Qinglin Zhang, Database Kernel Engineer at Tencent, introduces CynosDB, Tencent's self-developed database for the cloud. CynosDB is based on MariaDB Server, but separates computing and storage. Zhang goes on to provide a detailed explanation of the architecture with a focus on how Tencent implemented the computing and storage layers, and created Tencent’s MariaDB-based “Aurora”.
Migrating from InnoDB and HBase to MyRocks at FacebookMariaDB plc
Migrating large databases at Facebook from InnoDB to MyRocks and HBase to MyRocks resulted in significant space savings of 2-4x and improved write performance by up to 10x. Various techniques were used for the migrations such as creating new MyRocks instances without downtime, loading data efficiently, testing on shadow instances, and promoting MyRocks instances as masters. Ongoing work involves optimizations like direct I/O, dictionary compression, parallel compaction, and dynamic configuration changes to further improve performance and efficiency.
MariaDB Server Performance Tuning & OptimizationMariaDB plc
This document discusses various techniques for optimizing MariaDB server performance, including:
- Tuning configuration settings like the buffer pool size, query cache size, and thread pool settings.
- Monitoring server metrics like CPU usage, memory usage, disk I/O, and MariaDB-specific metrics.
- Analyzing slow queries with the slow query log and EXPLAIN statements to identify optimization opportunities like adding indexes.
Faster, better, stronger: The new InnoDBMariaDB plc
For MariaDB Enterprise Server 10.5, the default transactional storage engine, InnoDB, has been significantly rewritten to improve the performance of writes and backups. Next, we removed a number of parameters to reduce unnecessary complexity, not only in terms of configuration but of the code itself. And finally, we improved crash recovery thanks to better consistency checks and we reduced memory consumption and file I/O thanks to an all new log record format.
In this session, we’ll walk through all of the improvements to InnoDB, and dive deep into the implementation to explain how these improvements help everything from configuration and performance to reliability and recovery.
The capabilities and features of MariaDB Platform continue to expand, resulting in larger and more sophisticated production deployments – and the need for better tools. To provide DBAs with comprehensive, consolidating tooling, we created MariaDB Enterprise Tools: an easy-to-use, modular command-line interface for interacting with any part of MariaDB Platform.
In this session, we will provide a preview of the MariaDB Enterprise Client, walk through current and planned modules and discuss future plans for MariaDB Enterprise Tools – including SkySQL modules and the ability to create custom modules.
MariaDB's Andrew Hutchings and Shane Johnson walk through new features of the MariaDB ColumnStore storage engine, tools and adapters, then provide a sneak peak at what's planned for the next release.
ClustrixDB: how distributed databases scale outMariaDB plc
ClustrixDB, now part of MariaDB, is a fully distributed and transactional RDBMS for applications with the highest scalability requirements. In this session Robbie Mihalyi, VP of Engineering for ClustrixDB, provides an introduction to ClustrixDB, followed by an in-depth technical overview of its architecture, with a focus on distributed storage, transactions and query processing – and its unique approach to index partitioning.
MariaDB Performance Tuning and OptimizationMariaDB plc
This document discusses MariaDB performance tuning and optimization. It covers common principles like tuning from the start of application development. Specific topics discussed include server hardware, OS settings, MariaDB configuration settings like innodb_buffer_pool_size, database design best practices, and query monitoring and tuning tools. The overall goal is to efficiently use hardware resources, ensure best performance for users, and avoid outages.
Event Streaming Architectures with Confluent and ScyllaDBScyllaDB
Jeff Bean will lead a discussion of event-driven architectures, Apache Kafka, Kafka Connect, KSQL and Confluent Cloud. Then we'll talk about some uses of Confluent and Scylla together, including a co-deployment with Lookout, ScyllaDB and Confluent in the IoT space, and the upcoming native connector.
Will it Scale? The Secrets behind Scaling Stream Processing ApplicationsNavina Ramesh
This talk was presented at the Apache Big Data 2016, North America conference that was held in Vancouver, CA (http://events.linuxfoundation.org/events/archive/2016/apache-big-data-north-america/program/schedule)
MariaDB 10.4 became General Available (GA = ready for production) this summer. So it is time to look at the new Features in MariaDB 10.4. After a short intro about history we look for the reason of broad usage of MariaDB nowadays. Most important improvements where in User Authentication, InnoDB improvements, and Optimizer enhancements. A completely New Feature is Application-Time Period Tables. Backup got a new Locking behaviour so LVM snapshots are possible and officially supported now. And last but not least MariaDB 10.4 comes with Galera 4.
In this presentation we discuss the New Features of MariaDB 10.4. First we give a short overview of the MariaDB Branches and Forks. Then we talk about the announced IPO. Technically we cover topics like Authentication, Accounts, InnoDB, Optimizer improvements, Application-Time Period Tables the new Backup Stage Galera 4 and other changes...
Getting the most out of MariaDB MaxScaleMariaDB plc
This document discusses how to get the most out of MariaDB MaxScale. It provides an overview of MariaDB MaxScale and the MariaDB platform. It then demonstrates how MariaDB MaxScale can be used to handle multiple paths and listeners, routing queries using hints, masking data, and rerouting queries. Live demos are shown of these MaxScale features. The document concludes by discussing MaxScale's flexible plugin-based architecture and capabilities for load balancing, failover, and transforming queries.
How Alibaba Cloud scaled ApsaraDB with MariaDB MaxScaleMariaDB plc
ApsaraDB is the leading cloud database in China with millions of database instances are running on it. However, the diversity and complexity of the mission-critical applications using it brought a huge challenge to ApsaraDB, scalability – a long-time pain point. To solve the problem, in middle of 2018 and after a careful evaluation, an elegant solution was found in MariaDB MaxScale. So far, the deep synergy of MariaDB MaxScale and ApsaraDB has proved very successful as thousands of high-demand customers of ApsaraDB are benefiting from a much-improved experience. In this presentation, we are going to share following topics:
- How ApsaraDB is using MariaDB MaxScale
- Best practices when leveraging MariaDB MaxScale with ApsaraDB
- Next steps and future plans for for MariaDB MaxScale and ApsaraDB
What to expect from MariaDB Platform X5, part 1MariaDB plc
MariaDB Platform X5 will be based on MariaDB Enterprise Server 10.5. This release includes Xpand, a fully distributed storage engine for scaling out, as well as many new features and improvements for DBAs and developers alike, including enhancements to temporal tables, additional JSON functions, a new performance schema, non-blocking schema changes with clustering and a Hashicorp Vault plugin for key management.
In this session, we’ll walk through all of the new features and enhancements available in MariaDB Enterprise Server 10.5. In addition, we will highlight those being backported to maintenance releases of MariaDB Enterprise Server 10.2, 10.3 and 10.4.
How to migrate from Oracle Database with easeMariaDB plc
MariaDB introduced Oracle Database compatibility last May with support for Oracle Database data types, sequences, stored procedures (PL/SQL) and more, making it easier than ever to migrate to MariaDB. In this session, MariaDB's Alexander Bienemann and Wagner Bianchi share best practices and lessons learned from our experiences helping customers migrate from Oracle Database. They explain how MariaDB approaches migrations, what’s needed to complete a successful migration and the tools used to determine the level of effort required.
How to make data available for analytics ASAPMariaDB plc
This document discusses how to make data available for analytics in MariaDB ColumnStore. It covers loading data using command line tools, SQL, and bulk write APIs. It also discusses integrating with applications via data adapters like Pentaho and MaxScale CDC. Future improvements may include integrated MaxScale CDC and performance enhancements to loading tools.
Maximizing performance via tuning and optimizationMariaDB plc
This document provides an overview of best practices for maximizing performance of MariaDB Server through tuning and optimization. It discusses general best practices like service level agreements and metrics collection. It also covers specific areas like server, storage, and network configuration, connection pooling, MariaDB configuration settings, query tuning using indexes and EXPLAIN, and monitoring tools like performance schema. The goal is to help users get the most out of their MariaDB deployment through performance analysis and tuning.
Global Data Replication with Galera for Ansell Guardian®MariaDB plc
Ansell Guardian® faced challenges with their previous database replication solution as their data and usage grew globally. They evaluated MariaDB/Galera and implemented it to replace their legacy solution. The implementation was smooth using automation scripts. MariaDB/Galera provided increased performance, faster deployment times, and more reliable data synchronization across their 3 data centers compared to their previous solution. It helped resolve a critical data divergence issue and improved the user experience. They plan to further enhance their database infrastructure using MaxScale in the future.
Deploying MariaDB databases with containers at Nokia NetworksMariaDB plc
Nokia is focused on providing software and products that facilitate rapid development, deployment and scaling of products and services to customers. The Common Software Foundation (CSF) within Nokia develops and supports product reuse by multiple applications within Nokia, including MariaDB. Their focus over the last year has been to develop a containerized MariaDB solution supporting multiple architectures, including both clustering and primary/secondary replication with MariaDB MaxScale. In this talk, Rick Lane discusses this journey of these containerized solutions from development to customer trials, including problems encountered and solutions.
Introducing the ultimate MariaDB cloud, SkySQLMariaDB plc
SkySQL is the first and only database-as-a-service (DBaaS) engineered for MariaDB by MariaDB, to use a state-of-the-art multi-cloud architecture built on Kubernetes and ServiceNow, and to deploy databases and data warehouses for transactional, analytical and hybrid transactional/analytical workloads.
In this session, we’ll lay out the vision for SkySQL, provide an overview of its capabilities, take a tour of its architecture, and discuss the long-term roadmap. We’ll wrap things up with a live demo of SkySQL, including a preview of its deep learning–based workload analysis and visualization interface.
How Pixid dropped Oracle and went hybrid with MariaDBMariaDB plc
Pixid replaced Oracle Database with MySQL in 2011, then soon migrated to MariaDB to get better performance, more features and synchronous clustering for high availability. In addition to high-performance transactions, their customers needed access to fast analytics for self-service reporting and data exploration. Pixid started with a separate columnar database for analytics, but with the release of MariaDB ColumnStore, they found a more elegant solution – deploying a single database platform to handle both transactions and analytics. In this session, Antoine Gosset and Jérôme Mouret share how Pixid went from Oracle Database to handling both transactional and analytical workloads with MariaDB.
Inside CynosDB: MariaDB optimized for the cloud at TencentMariaDB plc
Qinglin Zhang, Database Kernel Engineer at Tencent, introduces CynosDB, Tencent's self-developed database for the cloud. CynosDB is based on MariaDB Server, but separates computing and storage. Zhang goes on to provide a detailed explanation of the architecture with a focus on how Tencent implemented the computing and storage layers, and created Tencent’s MariaDB-based “Aurora”.
Migrating from InnoDB and HBase to MyRocks at FacebookMariaDB plc
Migrating large databases at Facebook from InnoDB to MyRocks and HBase to MyRocks resulted in significant space savings of 2-4x and improved write performance by up to 10x. Various techniques were used for the migrations such as creating new MyRocks instances without downtime, loading data efficiently, testing on shadow instances, and promoting MyRocks instances as masters. Ongoing work involves optimizations like direct I/O, dictionary compression, parallel compaction, and dynamic configuration changes to further improve performance and efficiency.
MariaDB Server Performance Tuning & OptimizationMariaDB plc
This document discusses various techniques for optimizing MariaDB server performance, including:
- Tuning configuration settings like the buffer pool size, query cache size, and thread pool settings.
- Monitoring server metrics like CPU usage, memory usage, disk I/O, and MariaDB-specific metrics.
- Analyzing slow queries with the slow query log and EXPLAIN statements to identify optimization opportunities like adding indexes.
Faster, better, stronger: The new InnoDBMariaDB plc
For MariaDB Enterprise Server 10.5, the default transactional storage engine, InnoDB, has been significantly rewritten to improve the performance of writes and backups. Next, we removed a number of parameters to reduce unnecessary complexity, not only in terms of configuration but of the code itself. And finally, we improved crash recovery thanks to better consistency checks and we reduced memory consumption and file I/O thanks to an all new log record format.
In this session, we’ll walk through all of the improvements to InnoDB, and dive deep into the implementation to explain how these improvements help everything from configuration and performance to reliability and recovery.
The capabilities and features of MariaDB Platform continue to expand, resulting in larger and more sophisticated production deployments – and the need for better tools. To provide DBAs with comprehensive, consolidating tooling, we created MariaDB Enterprise Tools: an easy-to-use, modular command-line interface for interacting with any part of MariaDB Platform.
In this session, we will provide a preview of the MariaDB Enterprise Client, walk through current and planned modules and discuss future plans for MariaDB Enterprise Tools – including SkySQL modules and the ability to create custom modules.
MariaDB's Andrew Hutchings and Shane Johnson walk through new features of the MariaDB ColumnStore storage engine, tools and adapters, then provide a sneak peak at what's planned for the next release.
ClustrixDB: how distributed databases scale outMariaDB plc
ClustrixDB, now part of MariaDB, is a fully distributed and transactional RDBMS for applications with the highest scalability requirements. In this session Robbie Mihalyi, VP of Engineering for ClustrixDB, provides an introduction to ClustrixDB, followed by an in-depth technical overview of its architecture, with a focus on distributed storage, transactions and query processing – and its unique approach to index partitioning.
MariaDB Performance Tuning and OptimizationMariaDB plc
This document discusses MariaDB performance tuning and optimization. It covers common principles like tuning from the start of application development. Specific topics discussed include server hardware, OS settings, MariaDB configuration settings like innodb_buffer_pool_size, database design best practices, and query monitoring and tuning tools. The overall goal is to efficiently use hardware resources, ensure best performance for users, and avoid outages.
Event Streaming Architectures with Confluent and ScyllaDBScyllaDB
Jeff Bean will lead a discussion of event-driven architectures, Apache Kafka, Kafka Connect, KSQL and Confluent Cloud. Then we'll talk about some uses of Confluent and Scylla together, including a co-deployment with Lookout, ScyllaDB and Confluent in the IoT space, and the upcoming native connector.
Will it Scale? The Secrets behind Scaling Stream Processing ApplicationsNavina Ramesh
This talk was presented at the Apache Big Data 2016, North America conference that was held in Vancouver, CA (http://events.linuxfoundation.org/events/archive/2016/apache-big-data-north-america/program/schedule)
MariaDB 10.4 became General Available (GA = ready for production) this summer. So it is time to look at the new Features in MariaDB 10.4. After a short intro about history we look for the reason of broad usage of MariaDB nowadays. Most important improvements where in User Authentication, InnoDB improvements, and Optimizer enhancements. A completely New Feature is Application-Time Period Tables. Backup got a new Locking behaviour so LVM snapshots are possible and officially supported now. And last but not least MariaDB 10.4 comes with Galera 4.
In this presentation we discuss the New Features of MariaDB 10.4. First we give a short overview of the MariaDB Branches and Forks. Then we talk about the announced IPO. Technically we cover topics like Authentication, Accounts, InnoDB, Optimizer improvements, Application-Time Period Tables the new Backup Stage Galera 4 and other changes...
Optimizing applications and database performanceInam Bukhary
This document discusses various ways to optimize application and database performance, including:
1. Optimizing database design, application design, memory usage, I/O, and reducing database contention.
2. Specific techniques mentioned include de-normalization, materialized views, bind variables, partitioning, parallel execution, and optimizing storage structures.
3. Monitoring tools are also discussed to detect issues like lock and latch contention that could be optimized.
MySQL Parallel Replication: inventory, use-case and limitationsJean-François Gagné
Booking.com uses MySQL parallel replication extensively with thousands of servers replicating. The presentation summarized MySQL and MariaDB parallel replication features including: 1) MySQL 5.6 uses schema-based parallel replication but transactions commit out of order. 2) MariaDB 10.0 introduced out-of-order parallel replication using write domains that can cause gaps. 3) MariaDB 10.1 includes five parallel modes including optimistic replication to reduce deadlocks during parallel execution. Long transactions and intermediate masters can limit parallelism.
Apache Sqoop: A Data Transfer Tool for HadoopCloudera, Inc.
Apache Sqoop is a tool designed for efficiently transferring bulk data between Hadoop and structured datastores such as relational databases. This slide deck aims at familiarizing the user with Sqoop and how to effectively use it in real deployments.
In this session Max Mether, VP of Product Management at MariaDB, provides an introduction to MariaDB Platform X3 and the new features in MariaDB Server 10.3 and MariaDB MaxScale 2.3. He then turns his focus to what’s coming in MariaDB Server 10.4, including instant DROP COLUMN, the INTERVAL data type and advanced security features like account locking.
Oracle Drivers configuration for High Availability, is it a developer's job?Ludovico Caldara
UCP, GridLink, TAF, AC, TAC, FAN… The configuration of Oracle Drivers for application high availability is not an easy job. The developers often care about the minimal working configuration, while the DBAs are busy with the operations. In this session I will try to demystify application server’s connectivity to the database and give a direction toward the highest availability, using Real Application Clusters and new Oracle features like TAC and CMAN TDM.
Webinar slides: How to Migrate from Oracle DB to MariaDBSeveralnines
This document provides an overview and agenda for a webinar on migrating from Oracle DB to MariaDB. The webinar will cover why organizations are moving to open source databases, the benefits of migrating to MariaDB from Oracle, how to plan and execute the migration process, and post-migration management topics like monitoring, backups, high availability, and scaling in MariaDB. The presentation will include discussions of data type mapping, enabling PL/SQL syntax in MariaDB, available migration tools, and testing approaches.
MySQL/MariaDB Parallel Replication: inventory, use-case and limitationsJean-François Gagné
- The document discusses various parallel replication technologies in MySQL/MariaDB including schema-based parallel replication in MySQL 5.6, group commit-based approaches in MariaDB 10.0 and MySQL 5.7, and optimistic parallel replication in MariaDB 10.1.
- It provides an overview of how each approach tags and dispatches transactions to worker threads on slaves and their limitations regarding transaction ordering and gaps.
- Examples from Booking.com show how parallel replication can scale to thousands of servers but also hit issues like long transactions blocking progress.
Replicate from Oracle to Oracle, Oracle to MySQL, and Oracle to analyticsContinuent
Oracle is the most powerful DBMS in the world. However, Oracle's expensive and complex replication makes it difficult to build highly available applications or move data in real-time to data warehouses and popular databases like MySQL.
In this webinar you will learn how Continuent Tungsten solves problems with Oracle replication at a fraction of the cost of other solutions and with less management overhead too -- think "Oracle GoldenGate without the price tag!" We will show you how to replicate data in real-time from Oracle to Oracle, from Oracle to MySQL, and loading a data warehouse.
We’ll present details about Argus, a time-series monitoring and alerting platform developed at Salesforce to provide insight into the health of infrastructure as an alternative to systems such as Graphite and Seyren.
Argus Production Monitoring at Salesforce HBaseCon
Tom Valine and Bhinav Sura (Salesforce)
We’ll present details about Argus, a time-series monitoring and alerting platform developed at Salesforce to provide insight into the health of infrastructure as an alternative to systems such as Graphite and Seyren.
The document discusses tuning Oracle GoldenGate performance, including available tools for monitoring replication lag and throughput. It presents a case study examining lag times of over 1 hour 30 minutes for a replication configuration and uses tools like the Streams Performance Advisor and lag reports to identify potential bottlenecks. Recommendations are provided for configuration changes and monitoring to improve replication performance.
Laskar: High-Velocity GraphQL & Lambda-based Software Development ModelGarindra Prahandono
Sale Stock Engineering, represented by Garindra Prahandono, presents "High-Velocity GraphQL & Lambda-based Software Development Model" in BandungJS event on May 14th, 2018.
Are your Oracle databases highly available? You have deployed Real Application Clusters (RAC), Data Guard, or Failover Clusters and are well protected against server failures? Great – the prerequisites for a highly available environment are given. However, to assure that backend infrastructure failures also remain transparent to the client, an appropriate configuration is a prerequisite.
This lecture will discuss the Oracle technologies that can be used to achieve automatic client failover functionality. What are the advantages, but also the limitations of these technologies?
Exploring plsql new features best practices september 2013Andrejs Vorobjovs
The document discusses exploring new features and best practices in PL/SQL for better performance. It covers topics like parsing time, bulk binding, PL/SQL function result cache, subprogram inlining, finer grained dependencies, and new features in Oracle Database 12c. The presentation provides an overview of Oracle SQL Developer and guidelines for writing efficient and readable PL/SQL code.
Tungsten Use Case: How Gittigidiyor (a subsidiary of eBay) Replicates Data In...Continuent
Gittigidiyor, a subsidiary of eBay, needed to replicate data in real time from their MySQL database to an Oracle database to power their data warehouse. Continuent Tungsten was used to provide heterogeneous replication between the databases. The schema was translated from MySQL to Oracle using ddlscan. Initial data was exported and loaded into Oracle using parallel apply. Ongoing real-time replication now occurs between MySQL and Oracle using Tungsten Replicator with custom filters to handle data type translations.
Migración desde BBDD propietarias a MariaDBMariaDB plc
This document discusses migrating from legacy databases to MariaDB. It begins with an agenda that covers why migrate to open source, what to migrate and what not to migrate, MariaDB server compatibility features from versions 10.1 to 10.3, and MariaDB migration services and case studies. It then discusses reasons to migrate to open source like lower costs and more modern infrastructure. It provides examples of what types of applications and code are easier or harder to migrate. It also covers MariaDB compatibility features and an example schema and procedure migration. Finally, it discusses MariaDB migration services and provides summaries of two case studies migrating from Oracle to MariaDB.
TokuDB, Spider, and CONNECT are storage engines that provide additional functionality beyond InnoDB in MariaDB. TokuDB offers improved performance through fractal tree indexing and compression. Spider provides horizontal partitioning and sharding across multiple database servers. CONNECT enables querying of external data sources like files, ODBC, XML, and JSON without needing to import the data.
Similar to M|18 Migrating from Oracle and Handling PL/SQL Stored Procedures (20)
MariaDB Paris Workshop 2023 - MaxScale 23.02.xMariaDB plc
The document discusses the benefits of exercise for mental health. Regular physical activity can help reduce anxiety and depression and improve mood and cognitive functioning. Exercise causes chemical changes in the brain that may help boost feelings of calmness, happiness and focus.
MariaDB Paris Workshop 2023 - NewpharmaMariaDB plc
This document summarizes Newpharma's transition from a standalone database server to an enterprise MariaDB Galera cluster configuration between 2018-2023. It discusses the business needs that drove the change, including increased traffic and access to multiple data sources. Key benefits of the Galera cluster are highlighted like synchronous replication, read/write access from any node, and automatic node joining. Challenges of migrating like converting table types and splitting large transactions are also outlined. The transition has supported Newpharma's growth to over 100 million euro in turnover.
The document discusses the benefits of exercise for mental health. Regular physical activity can help reduce anxiety and depression and improve mood and cognitive functioning. Exercise causes chemical changes in the brain that may help boost feelings of calmness and well-being.
MariaDB Paris Workshop 2023 - MariaDB EnterpriseMariaDB plc
The document discusses the benefits of exercise for mental health. Regular physical activity can help reduce anxiety and depression and improve mood and cognitive functioning. Exercise causes chemical changes in the brain that may help protect against mental illness and improve symptoms.
MariaDB Paris Workshop 2023 - Performance OptimizationMariaDB plc
MariaDB is an open-source database that is highly tunable and modular. It allows for various storage engines, plugins, and configurations to optimize performance depending on usage. Key aspects that impact performance include memory allocation, disk access, query optimization, and architecture choices like replication, sharding, or using ColumnStore for analytics. Solutions like MyRocks, Spider, MaxScale can improve performance for transactional or large scale workloads by optimizing resources, adding high availability, and distributing load.
MariaDB Paris Workshop 2023 - MaxScale MariaDB plc
The document outlines requirements and criteria for a database solution involving two buildings 30km apart with a WAN link. The chosen solution was MariaDB with Galera cluster for high availability and synchronous replication across sites, along with Maxscale for read/write splitting and failover. Maxscale instances on each site allow for zero downtime database patching and upgrades per site, while the Galera cluster provides structure-independent synchronous replication between sites.
MariaDB Tech und Business Update Hamburg 2023 - MariaDB Enterprise Server MariaDB plc
MariaDB Enterprise Server 10.6 includes the following key features:
- New JSON functions and data types like UUID and INET4.
- Improved Oracle compatibility with function parameters.
- Enhanced partitioning capabilities like converting partitions.
- Optimistic ALTER TABLE for replicas to reduce downtime.
- Online schema changes without locking tables for improved performance.
- Security enhancements including password policies and privilege changes.
MariaDB SkySQL is a cloud database service that provides autonomous scaling, observability, and cloud backup capabilities. It offers multi-cloud and hybrid operations across AWS, Google Cloud, and on-premises databases. The service includes features like the Remote Observability Service (ROS) for monitoring across environments, and a Cloud Backup Service. It aims to provide a simple yet advanced service for scaling databases from small to extreme sizes with tools for automation, self-service, and unified operations.
The document discusses high availability solutions for MariaDB databases. It begins by defining high availability and concepts like Recovery Time Objective (RTO) and Recovery Point Objective (RPO). It then presents different MariaDB and MaxScale architectures that provide high availability, including single node, primary-replica, Galera cluster, and SkySQL solutions. Key aspects covered are automatic failover, load balancing, data filtering, and service level agreements.
Die Neuheiten in MariaDB Enterprise ServerMariaDB plc
This document summarizes new features in MariaDB Enterprise Server. Key points include:
- MariaDB Enterprise Server is geared toward enterprise customers and focuses on stability, robustness, and predictability.
- It has a longer release cycle than Community Server, with new versions every 2 years and long maintenance cycles. New features from Community Server are backported.
- Recent additions include analytics functions, JSON support, bi-temporal modeling, schema changes, database compatibility features, and security enhancements.
- The upcoming 23.x release will include new JSON functions, data types like UUID and INET4, Oracle compatibility features, partitioning improvements, and Galera enhancements.
SkySQL is the first and only database-as-a-service (DBaaS) to perform workload analysis with advanced deep learning models, identifying and classifying discrete workload patterns so DBAs can better understand database workloads, identify anomalies and predict changes.
In this session, we’ll explain the concepts behind workload analysis and show how it can be used in the real world (and with sample real-world data) to improve database performance and efficiency by identifying key metrics and changes to cyclical patterns.
SkySQL uses best-of-breed software, and when it comes to metrics and monitoring that means Prometheus and Grafana. SkySQL Monitor is built on both, and provides customers with interactive dashboards for both real-time and historic metrics monitoring. In addition, it meets the same high availability and security requirements as other SkySQL components, ensuring metrics are always available and always secure.
In this session, we’ll explain how SkySQL Monitor works, walk through its dashboards and show how to monitor key metrics for performance and replication.
Introducing the R2DBC async Java connectorMariaDB plc
Not too long ago, a reactive variant of the JDBC driver was released, known as Reactive Relational Database Connectivity (R2DBC for short). While R2DBC started as an experiment to enable integration of SQL databases into systems that use reactive programming models, it now specifies a full-fledged service-provider interface that can be used to retrieve data from a target data source.
In this session, we’ll take a look at the new MariaDB R2DBC connector and examine the advantages of fully reactive, non-blocking development with MariaDB. And, of course, we’ll dive in and get a first-hand look at what it’s like to use the new connector with some live coding!
SkySQL implements a groundbreaking, state-of-the-art architecture based on Kubernetes and ServiceNow, and with a strong emphasis on cloud security – using compartmentalization and indirect access to secure and protect customer databases.
In this session, we’ll walk through the architecture of SkySQL and discuss how MariaDB leverages an advanced Kubernetes operator and powerful ServiceNow configuration/workflow management to deploy and manage databases on cloud infrastructure.
What to expect from MariaDB Platform X5, part 2MariaDB plc
This document summarizes new features and enhancements in MariaDB MaxScale 2.5 and MariaDB ColumnStore 1.5. Some key points include:
- MaxScale 2.5 includes a new graphical user interface, improved binlog router, capability to stream binlogs to Kafka as JSON, and distributed caching between MaxScale servers.
- ColumnStore 1.5 features a new API, PowerBI direct query connector, improved replication from InnoDB, and multinode support in SkySQL.
- Configuration and installation of ColumnStore has been simplified, including using a new ColumnStore.xml utility and S3 storage manager for redundant file storage in object storage.
Beyond the basics: advanced SQL with MariaDBMariaDB plc
We've been writing SQL queries with WHERE, GROUP BY, ORDER BY, HAVING for decades, but we’re not using DOS 3.2 or Windows 1.0 anymore. Why limit yourself to SQL:86? In the past couple of releases, MariaDB has added support for features in the SQL:99 (common table expressions), SQL:2003 (window functions), SQL:2011 (system-versioned tables), and SQL:2016 (JSON) specifications – allowing you to build more complex data models (e.g., semi-structured or hierarchical) and write simpler, faster queries. In this session, Sergei Golubchik brings everyone up to speed on the latest SQL syntax supported in MariaDB.
Configuring workload-based storage and topologiesMariaDB plc
This document discusses configuring workload-based storage and topologies in MariaDB. It introduces several MariaDB storage engines including InnoDB, MyRocks, Aria, Spider, and ColumnStore. For each engine, it provides an overview of use cases, key configuration parameters, and recommendations on when to use each engine. It also provides an example of using different engines like MyRocks, InnoDB and Spider across multiple microservices databases based on the workload. The document aims to help users choose the right storage engine for their specific workload needs.
Build applications with generative AI on Google CloudMárton Kodok
We will explore Vertex AI - Model Garden powered experiences, we are going to learn more about the integration of these generative AI APIs. We are going to see in action what the Gemini family of generative models are for developers to build and deploy AI-driven applications. Vertex AI includes a suite of foundation models, these are referred to as the PaLM and Gemini family of generative ai models, and they come in different versions. We are going to cover how to use via API to: - execute prompts in text and chat - cover multimodal use cases with image prompts. - finetune and distill to improve knowledge domains - run function calls with foundation models to optimize them for specific tasks. At the end of the session, developers will understand how to innovate with generative AI and develop apps using the generative ai industry trends.
4th Modern Marketing Reckoner by MMA Global India & Group M: 60+ experts on W...Social Samosa
The Modern Marketing Reckoner (MMR) is a comprehensive resource packed with POVs from 60+ industry leaders on how AI is transforming the 4 key pillars of marketing – product, place, price and promotions.
Predictably Improve Your B2B Tech Company's Performance by Leveraging DataKiwi Creative
Harness the power of AI-backed reports, benchmarking and data analysis to predict trends and detect anomalies in your marketing efforts.
Peter Caputa, CEO at Databox, reveals how you can discover the strategies and tools to increase your growth rate (and margins!).
From metrics to track to data habits to pick up, enhance your reporting for powerful insights to improve your B2B tech company's marketing.
- - -
This is the webinar recording from the June 2024 HubSpot User Group (HUG) for B2B Technology USA.
Watch the video recording at https://youtu.be/5vjwGfPN9lw
Sign up for future HUG events at https://events.hubspot.com/b2b-technology-usa/
Beyond the Basics of A/B Tests: Highly Innovative Experimentation Tactics You...Aggregage
This webinar will explore cutting-edge, less familiar but powerful experimentation methodologies which address well-known limitations of standard A/B Testing. Designed for data and product leaders, this session aims to inspire the embrace of innovative approaches and provide insights into the frontiers of experimentation!
STATATHON: Unleashing the Power of Statistics in a 48-Hour Knowledge Extravag...sameer shah
"Join us for STATATHON, a dynamic 2-day event dedicated to exploring statistical knowledge and its real-world applications. From theory to practice, participants engage in intensive learning sessions, workshops, and challenges, fostering a deeper understanding of statistical methodologies and their significance in various fields."
Analysis insight about a Flyball dog competition team's performanceroli9797
Insight of my analysis about a Flyball dog competition team's last year performance. Find more: https://github.com/rolandnagy-ds/flyball_race_analysis/tree/main
The Ipsos - AI - Monitor 2024 Report.pdfSocial Samosa
According to Ipsos AI Monitor's 2024 report, 65% Indians said that products and services using AI have profoundly changed their daily life in the past 3-5 years.
End-to-end pipeline agility - Berlin Buzzwords 2024Lars Albertsson
We describe how we achieve high change agility in data engineering by eliminating the fear of breaking downstream data pipelines through end-to-end pipeline testing, and by using schema metaprogramming to safely eliminate boilerplate involved in changes that affect whole pipelines.
A quick poll on agility in changing pipelines from end to end indicated a huge span in capabilities. For the question "How long time does it take for all downstream pipelines to be adapted to an upstream change," the median response was 6 months, but some respondents could do it in less than a day. When quantitative data engineering differences between the best and worst are measured, the span is often 100x-1000x, sometimes even more.
A long time ago, we suffered at Spotify from fear of changing pipelines due to not knowing what the impact might be downstream. We made plans for a technical solution to test pipelines end-to-end to mitigate that fear, but the effort failed for cultural reasons. We eventually solved this challenge, but in a different context. In this presentation we will describe how we test full pipelines effectively by manipulating workflow orchestration, which enables us to make changes in pipelines without fear of breaking downstream.
Making schema changes that affect many jobs also involves a lot of toil and boilerplate. Using schema-on-read mitigates some of it, but has drawbacks since it makes it more difficult to detect errors early. We will describe how we have rejected this tradeoff by applying schema metaprogramming, eliminating boilerplate but keeping the protection of static typing, thereby further improving agility to quickly modify data pipelines without fear.
M|18 Migrating from Oracle and Handling PL/SQL Stored Procedures
1. Migrations from PL/SQL and Transact-SQL
Easier, faster, more efficient than ever with MariaDB 10.3
Wagner Bianchi
RDBA Team Lead @ MariaDB RDBA Team
Alexander Bienemann
Migration Practice Manager @ MariaDB Professional Services
2. Agenda
● Why migrate?
● PL/SQL syntax in MariaDB
○ How to enable ORACLE SQL_MODE
○ Supported ORACLE and PL/SQL syntax
○ Covering the gap
○ What's coming next
● Transact-SQL migration to MariaDB
○ Toolkit
○ Speeding up migrations
● Live demo
3. Agenda
● Why migrate?
● PL/SQL syntax in MariaDB
○ How to enable ORACLE SQL_MODE
○ Supported ORACLE and PL/SQL syntax
○ Covering the gap
○ What's coming next
● Transact-SQL migration to MariaDB
○ Toolkit
○ Speeding up migrations
● Live demo
4. Why Migrate?
Changes in the IT industry:
• Big, mature application systems
– Long-term utilization and lifecycle
– Long-living data, processes, requirements
• Cloud-based systems
– Strategies, architectures
• Changed perception of Open Source
– Evolutionary change instead of net-new
– Production-readiness
• Cost efficiency
– Another round of cost reduction
• Perception of core features
– Pareto principle, 80/20
– What are core functions of a DBMS?
• Re-valuation of the Relational Model
– OLTP vs. semi-/non-structured data
Changes in Open Source and MariaDB:
• Open Source has matured
– 24/7 support, SLAs, features, ...
• MariaDB has gained features
– High Availability
– Interoperability
– SQL features
• Migration-supporting features
– SQL_MODE=ORACLE
• Migration tools
– Automatic schema migration
– Semi-automatic procedure migration
• Migration Practice within MariaDB
– Highly specialized analysis
– Best practices
– Scaling out migration projects
5. Features for cost-effective migration:
• Common Table Expressions, CTE’s
– Convenient aliases for subqueries
– Recursive SQL queries
– Introduced in MariaDB 10.2
• Window Functions
– NTILE, RANK, DENSE_RANK, …
– For analytic purposes, convenient handling of
query result sets
– Introduced in MariaDB 10.2
• Native PL/SQL parsing
– Direct execution of native Oracle procedures
– Introduced in MariaDB 10.3
Migrations have become easier
Target architectures at eye level:
• Shared-nothing replication architecture
– Synchronous, asynchronous,
semi-synchronous
– Failovers with no write transaction loss
• Replication performance:
– In-order parallelized replication on slaves
– Reduces asynchronous replication delays
• Security and compliance:
– Audit Plug-In
– Encryption of data, data-at-rest
– Certificates, TLS connections
– PAM plugin
7. Agenda
● Why migrate?
● PL/SQL syntax in MariaDB
○ How to enable ORACLE SQL_MODE
○ Supported ORACLE and PL/SQL syntax
○ Covering the gap
○ What's coming next
● Transact-SQL migration to MariaDB
○ Toolkit
○ Speeding up migrations
● Live demo
8. PL/SQL Syntax in MariaDB
SQL_MODE = ORACLE
● From the version 10.3++, MariaDB starts its support to PL/SQL structures;
● For starting using the new features, everything starts with the SQL_MODE;
○ It can be set on the configuration file and then, restarting the MariaDB Server;
○ One can yet set it dynamically, knowing that this way, the configuration won't survive a restart.
● While running the MariaDB Server with the SQL_MODE as ORACLE:
○ The traditional MariaDB syntax for stored routines won't be available at this point on;
●
●
●
● The best option is to run MariaDB Server with the SQL_MODE set on the
configuration file to avoid losing the feature in case of a restart.
:: wb_on_plsql_mariadb_server :: [(none)]> SELECT @@sql_modeG
*************************** 1. row ***************************
@@sql_mode: PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,ORACLE,NO_KEY_OPTIONS,NO_TABLE_OPTIONS,NO_FIELD_OPTIONS,NO_AUTO_CREATE_USER
1 row in set (0.000 sec)
9. Agenda
● Why migrate?
● PL/SQL syntax in MariaDB
○ How to enable ORACLE SQL_MODE
○ Supported ORACLE and PL/SQL syntax
○ Covering the gap
○ What's coming next
● Transact-SQL migration to MariaDB
○ Toolkit
○ Speeding up migrations
● Live demo
10. Supported ORACLE and PL/SQL syntax
● The parser is yet evolving and one can keep track of the current development
accessing the following JIRA: https://tinyurl.com/yd9otwdv
This is not just about PL/SQL, is about:
● Oracle Data Types;
● Oracle Sequences;
● EXECUTE IMMEDIATE;
● Stored Procedures;
● Cursors;
● ...
11. Supported ORACLE and PL/SQL syntax
● The MariaDB support when running with sql_mode=ORACLE:
○ VARCHAR2 - a synonym to VARCHAR;
○ NUMBER - a synonym to DECIMAL;
○ DATE (with time portion) - a synonym to MariaDB DATETIME;
○ RAW - a synonym to VARBINARY;
○ CLOB - a synonym to LONGTEXT;
○ BLOB - a synonym to LONGBLOB.
12. Supported ORACLE and PL/SQL syntax
● Creating tables with Oracle Data Types:
#: let's create some tables, using ORACLE DATA TYPES
MariaDB [mydb]> CREATE TABLE TBL_CAR_BRAND (
-> CAR_BRAND_NUMBER INTEGER(10) NOT NULL,
-> CAR_BRAND_DESC VARCHAR2(4000) NOT NULL, #: mapped out to MariaDB VARCHAR
-> CAR_BRAND_LOGO BLOB, #: mapped out to MariaDB LONGBLOB
-> PRIMARY KEY(CAR_BRAND_NUMBER)
-> ) ENGINE=InnoDB;
Query OK, 0 rows affected (0.007 sec)
MariaDB [mydb]> CREATE TABLE TBL_CAR (
-> CAR_NUMBER INTEGER(10) NOT NULL,
-> CAR_BRAND_NUMBER INTEGER(10) NOT NULL,
-> CAR_MODEL VARCHAR2(60) NOT NULL,
-> CAR_MODEL_PRICE NUMBER(10,2) NOT NULL, #: mapped out to MariaDB DECIMAL
-> CONSTRAINT FOREIGN KEY (CAR_BRAND_NUMBER) REFERENCES TBL_CAR_BRAND(CAR_BRAND_NUMBER),
-> PRIMARY KEY(CAR_NUMBER)
-> ) ENGINE=InnoDB;
Query OK, 0 rows affected (0.007 sec)
13. Supported ORACLE and PL/SQL syntax
● Creating tables with Oracle Data Types:
#: let's create some tables, using ORACLE DATA TYPES
MariaDB [mydb]> CREATE TABLE TBL_CUSTOMER (
-> CUST_NUMBER INTEGER(10) NOT NULL,
-> CUST_NAME VARCHAR2(60) NOT NULL, #: mapped out to MariaDB VARCHAR
-> CUST_DATA_NASC DATE DEFAULT '0000-00-00 00:00:00', #: mapped out to MariaDB DATETIME
-> PRIMARY KEY(CUST_NUMBER)
-> ) ENGINE=InnoDB;
Query OK, 0 rows affected (0.009 sec)
MariaDB [mydb]> CREATE TABLE TBL_RENTAL (
-> RENTAL_NUMBER INTEGER(10) NOT NULL,
-> CAR_NUMBER INTEGER(10) NOT NULL,
-> CUST_NUMBER INTEGER(10) NOT NULL,
-> RENTAL_DT TIMESTAMP DEFAULT CURRENT_TIMESTAMP(),
-> CONSTRAINT FOREIGN KEY (CAR_NUMBER) REFERENCES TBL_CAR(CAR_NUMBER),
-> CONSTRAINT FOREIGN KEY (CUST_NUMBER) REFERENCES TBL_CUSTOMER(CUST_NUMBER),
-> PRIMARY KEY(RENTAL_NUMBER)
-> ) ENGINE=InnoDB;
Query OK, 0 rows affected (0.008 sec)
14. Supported ORACLE and PL/SQL syntax
● Creating a SEQUENCE per table of our schema mydb;
#: let's create the SEQUENCEs we're going to attach to tables
MariaDB [mydb]> CREATE SEQUENCE SEQ_CAR MINVALUE 1 START WITH 1 INCREMENT BY 1 CACHE 0;
Query OK, 0 rows affected (0.006 sec)
MariaDB [mydb]> CREATE SEQUENCE SEQ_CUSTOMER MINVALUE 1 START WITH 1 INCREMENT BY 1 CACHE 0;
Query OK, 0 rows affected (0.005 sec)
MariaDB [mydb]> CREATE SEQUENCE SEQ_CAR_BRAND MINVALUE 1 START WITH 1 INCREMENT BY 1 CACHE 0;
Query OK, 0 rows affected (0.005 sec)
MariaDB [mydb]> CREATE SEQUENCE SEQ_RENTAL MINVALUE 1 START WITH 1 INCREMENT BY 1 CACHE 0;
Query OK, 0 rows affected (0.006 sec)
15. Supported ORACLE and PL/SQL syntax
● PROCEDURE CREATION: let's create a procedure to add car brands!
MariaDB [mydb]> DELIMITER /
MariaDB [mydb]> CREATE OR REPLACE PROCEDURE mydb.PROC_ADD_CAR_BRAND (
-> p_car_brand_descmydb.TBL_CAR_BRAND.CAR_BRAND_DESC%TYPE,
-> p_car_brand_logomydb.TBL_CAR_BRAND.CAR_BRAND_LOGO%TYPE
-> ) AS
-> BEGIN
-> IF ((p_car_brand_desc <> '') &&(p_car_brand_logo <> '')) THEN
-> -- creating a start savepoint
-> SAVEPOINT startpoint; #: creating an undo point into the local stream
-> -- inserting the new row
-> INSERT INTO TBL_CAR_BRAND(CAR_BRAND_NUMBER,CAR_BRAND_DESC,CAR_BRAND_LOGO)
-> VALUES(SEQ_CAR_BRAND.NEXTVAL,p_car_brand_desc,p_car_brand_logo);
-> ELSE
-> SELECT 'You must provide the cars brand...' AS WARNING;
-> END IF;
-> EXCEPTION
-> WHEN OTHERS THEN
-> -- executing the exception
-> SELECT 'Exception ' || TO_CHAR(SQLCODE)|| ' ' || SQLERRM AS EXCEPTION;
-> -- rolling backup to the savepoint startpoint
-> ROLLBACK TO startpoint;
-> END;
-> /
Query OK, 0 rows affected (0.003 sec)
16. Supported ORACLE and PL/SQL syntax
● PROCEDURE CREATION: let's create a procedure to add customers!
MariaDB [mydb]> DELIMITER /
MariaDB [mydb]> CREATE OR REPLACE PROCEDURE mydb.PROC_ADD_CUSTOMER (
-> p_customer_name mydb.TBL_CUSTOMER.CUST_NAME%TYPE,
-> p_customer_data_nasc mydb.TBL_CUSTOMER.CUST_DATA_NASC%TYPE
-> ) AS
-> BEGIN
-> IF ((p_customer_name <> '') &&(p_customer_data_nasc <> '0000-00-00 00:00:00')) THEN
-> -- creating a start savepoint
-> SAVEPOINT startpoint;
-> -- inserting the new row
-> INSERT INTO TBL_CUSTOMER(CUST_NUMBER,CUST_NAME,CUST_DATA_NASC)
-> VALUES(SEQ_CUSTOMER.NEXTVAL,p_customer_name,p_customer_data_nasc);
-> ELSE
-> SELECT 'You must provide the customers information...' AS WARNING;
-> END IF;
-> EXCEPTION
-> WHEN OTHERS THEN
-> -- executing the exception
-> SELECT 'Exception ' || SQLCODE || ' ' ||SQLERRM AS EXCEPTION;
-> -- rolling backup to the savepoint startpoint
-> ROLLBACK TO startpoint;
-> END;
-> /
Query OK, 0 rows affected (0.003 sec)
17. Supported ORACLE and PL/SQL syntax
● PROCEDURE CALLS: let's add data to our database schema!
#: car brands
MariaDB [mydb]> CALL mydb.PROC_ADD_CAR_BRAND('Audi',md5('logo.') || '.jpg')/
Query OK, 1 row affected (0.004 sec)
MariaDB [mydb]> SELECT * FROM TBL_CAR_BRAND/
+------------------+----------------+--------------------------------------+
| CAR_BRAND_NUMBER | CAR_BRAND_DESC | CAR_BRAND_LOGO |
+------------------+----------------+--------------------------------------+
| 1 | Ferrari | 1f98cd1e57fbf3714f058ccf10fc9e9a.jpg |
| 2 | Audi | 1f98cd1e57fbf3714f058ccf10fc9e9a.jpg |
+------------------+----------------+--------------------------------------+
2 rows in set (0.000 sec)
#: customers
MariaDB [mydb]> CALL mydb.PROC_ADD_CUSTOMER('Bianchi','1980-01-01 10:30:00')/
Query OK, 1 row affected (0.005 sec)
MariaDB [mydb]> SELECT * FROM TBL_CUSTOMER/
+-------------+-----------------+---------------------+
| CUST_NUMBER | CUST_NAME | CUST_DATA_NASC |
+-------------+-----------------+---------------------+
| 1 | Bianchi, Wagner | 1980-01-01 10:30:00 |
+-------------+-----------------+---------------------+
1 row in set (0.000 sec)
18. Agenda
● Why migrate?
● PL/SQL syntax in MariaDB
○ How to enable ORACLE SQL_MODE
○ Supported ORACLE and PL/SQL syntax
○ Covering the gap
○ What's coming next
● Transact-SQL migration to MariaDB
○ Toolkit
○ Speeding up migrations
● Live demo
20. • Features common with all major
commercial DBMS:
– Relational database, SQL:92, SQL:2003
– ACID compliant, fully transactional engine
– Security features, data-at-rest encryption etc.
– Variety of data types, 4-byte Unicode etc.
– Tables, views
– Indices, PK’s, FK’s, check constraints, ...
– Replication with various synchrony options
– Window functions
– Common Table Expressions (CTE’s)
– Functions, procedures
– Triggers
→ We have all essential features of a
relational database system
MariaDB vs. commercial systems
• Advanced features specific to MariaDB, at
eye level to legacy DBMS:
– Multi-node synchronous replication with
Galera, working over WAN
– In-order parallelized asynchronous replication
– Semi-synchronous replication
– Failovers with no write transaction loss
– Asynchronous replication for flexible data
center topologies
• Our experts pay additional attention to
semantic differences between DBMS:
– Default values, e.g. TIMESTAMP
– Sorting with NULL, collations
– Choice of TA isolation level, locking vs. MVCC
– Materialized query tables, views
– Specific SQL constructs
21. MariaDB & Customer driven innovation
10.2 (examples)
• Common Table Expressions
• Catch All Partition (List)
• Full Support for Default
• Virtual Column Indexes
• Pushdown Conditions
• Multi-trigger Support
• Max Length (Blob/Text)
10.3 (examples)
• EXCEPT / INTERSECT
• Instance Add Column
• ROW OF
• Sequences
• User Defined Types
• Condition Pushdowns
> HAVING into WHERE
• and many more
22. High Availability with MariaDB
Clustering (Galera) Replication
Node
Data Center
Node
Data Center
Multi-master, Synchronous
• Millisecond latency
• Dynamic topology changes
• Quorum-based consistency
• Load balancing and failover (MaxScale)
Master-slave, Multi-source
• Asynchronous or semi-synchronous
• Multiple replication threads
• Concurrent replication streams
• Delayed replication (configurable)
Slave
Data Center
Master Data Center Slave
Failover Master
Slave
Data Center
Node
Data Center
23. MariaDB products we build upon
MARIADB TX (SERVER)
Enterprise-grade secure, highly
available and scalable relational
database with a modern,
extensible architecture
MARIADB MAXSCALE MARIADB AX (COLUMNSTORE)
Next-generation database proxy
that manages security,
scalability and high availability
in scale-out deployments
Columnar storage engine for
massively parallel distributed
query execution and data
loading
24. MariaDB MaxScale: Intelligent Data Gateway
Binlog, Avro,
JSON,CSV
Binlog, Avro,
JSON,CSV
● Gateway from OLTP database to external data stores
● Automated failover, load balancing, CDC, replication,
data masking, DDoS protection
26. Migration process with MariaDB
• Migration project planning,
migration doing, and QA:
– Deepened analysis of existing database
application and IT infrastructure
• Migration of schema
• Migration of interfaces to other systems
• Choice of the right tools
• Analysis of slow-running queries
• Tuning opportunities
– MariaDB migration expertise,
validation of application behavior
• Performance, load, parallelism tests
• User Acceptance Tests (UAT)
• System Integration Tests (SIT)
• Migration process:
– Migration Questionnaire
– Migration Assessment
– Migration project planning, migration
doing, and QA
Switchovers, forward and rollback
planning, points of no return
– Pilot phase
We help to bootstrap migration
capabilities inside of customer’s team
27. • Benefits of this service:
– Ensure a precise, non-biased, externally
objective analysis of your applications
– Minimize the risk of wrong planning and
non-purposeful activities
– Ensure a purposeful, straightforward
procedure, and prioritization of migration
steps
– Provide a cost estimation for actual
migration steps
– Benefit from the broad experience and deep
technical insight of MariaDB consultants,
comprising knowledge in both MariaDB as
well as legacy DBMS, e.g. Oracle, Sybase,
SQL Server
• Migration Assessment Package
(8-10 days)
– Our consultants analyze your database
applications
– Target architecture is developed based on
MariaDB and MaxScale and further
products if necessary
– Cost estimation
– Findings can be refined later on during
actual migration project
Migration Assessment
28. How to choose a good migration candidate
• What requires further analysis:
– One-vendor compounds w. tight coupling, e.g.
• SharePoint with SQL Server
– Applications highly dependent on
DBMS-specific constructs, e.g.
• Functions monitoring of DBMS internals
• Parallelism issues etc.
– Documentation of semantic differences
between MariaDB and Oracle types is
available
• Customers can work with MariaDB to resolve
some of the documented differences where
necessary
• Good candidates for a migration:
– Application stacks where the DBMS is used by
well-documented interfaces, e.g.
• Oracle with Java, C++
• Sybase with Java, C++
• SQL Server with PHP
• Vendor-neutral, as long as they maintain clear
or documented interfaces
– We are open to work with new vendors
who do not support MariaDB yet
• Application logic remains unchanged
→ We adapt the data access layer
29. Agenda
● Why migrate?
● PL/SQL syntax in MariaDB
○ How to enable ORACLE SQL_MODE
○ Supported ORACLE and PL/SQL syntax
○ Covering the gap
○ What's coming next
● Transact-SQL migration to MariaDB
○ Toolkit
○ Speeding up migrations
● Live demo
30. • Achievements so far:
– Highly automated schema, constraints and index migration
– SQL_MODE = ORACLE
– Syntax of PL/SQL integrated into MariaDB server
– Solutions / workarounds for complex SQL constructs, e.g.
• CONNECT BY - with CTEs
• 1NF TABLE OF procedure results - with temporary tables / native JSON
• NESTED attributes / tables - with native JSON in MariaDB
– Tool-aided data migration and validation
• Upcoming enhancements:
– Automatic conversion of deeper semantics
• e.g. DATE_FORMAT, some string functions, ...
– Enhanced tooling and templates for migrating advanced SQL functionalities
Making migrations from Oracle easier than ever
31. Agenda
● Why migrate?
● PL/SQL syntax in MariaDB
○ How to enable ORACLE SQL_MODE
○ Supported ORACLE and PL/SQL syntax
○ Covering the gap
○ What's coming next
● Transact-SQL migration to MariaDB
○ Toolkit
○ Speeding up migrations
● Live demo
32. • Applicable to legacy systems:
– Sybase
– SQL Server
• Typical fields of interest:
– Financial applications
– Insurance
• Tool-aided migrations:
– Automated schema conversion with SQLines SQL Converter
– Benefit from usually closer SQL dialect in queries
– Semi-automatic stored procedure conversion with approx. 10-20% manual work
– Tool-aided data migration and validation
Tool-aided migrations from Transact-SQL
33. Agenda
● Why migrate?
● PL/SQL syntax in MariaDB
○ How to enable ORACLE SQL_MODE
○ Supported ORACLE and PL/SQL syntax
○ Covering the gap
○ What's coming next
● Transact-SQL migration to MariaDB
○ Toolkit
○ Speeding up migrations
● Live demo
34. • Applicable to IT landscapes with hundreds to thousands of database applications
• During Migration Assessment, we classify existing applications according to:
– complexity of features
– complexity of control of flow
– programming style
• We conduct a POC migration of a mid-size, mid-complexity example application
– as representative to a classification group as possible
• Our tooling is then adapted to this customer-specific class of applications
– Migration pace increases dramatically
– The customer is able to migrate massively by himself
Scaling out migrations from Transact-SQL
35. Agenda
● Why migrate?
● PL/SQL syntax in MariaDB
○ How to enable ORACLE SQL_MODE
○ Supported ORACLE and PL/SQL syntax
○ Covering the gap
○ What's coming next
● Transact-SQL migration to MariaDB
○ Toolkit
○ Speeding up migrations
● Live demo