The document discusses high availability and scalability in MySQL. It describes various techniques for achieving high availability including replication, clustering, and shared storage solutions. It also discusses different approaches for scaling MySQL including replication, sharding, and clustering. MySQL replication is described as asynchronous with a single master and multiple read-only slaves. MySQL Cluster provides synchronous replication across nodes and automatic failover for high availability.
Clustering MySQL is a mainstream technology to handle todays web loads. Regardless whether you choose MySQL Replication, MySQL Cluster or any other type of clustering solution you will need a load balancer. PECL/mysqlnd_ms 1.4 is a driver integrated load balancer for PHP. It works with all APIs, is free, semi-transparent, at the best possible layer in your stack and loaded with features. Get an overview of the latest development version 1.4.
The mysqlnd replication and load balancing pluginUlf Wendel
The mysqlnd replication and load balancing plugin for mysqlnd makes using MySQL Replication from PHP much easier. The plugin takes care of Read/Write splitting, Load Balancing, Failover and Connection Pooling. Lazy Connections, a feature not only useful with replication, help reducing the MySQL server load. Like any other mysqlnd plugin, the plugin operates mostly transparent from an applications point of view and can be used in a drop-in style.
MySQL 5.7 Fabric: Introduction to High Availability and Sharding Ulf Wendel
MySQL 5.7 has sharding built-in to MySQL. The free and open source MySQL Fabric utility simplifies the management of MySQL clusters of any kind. This includes MySQL Replication setup, monitoring, automatic failover, switchover and so fort for High Availability. Additionally, it offers measures to shard a MySQL database over many an arbitrary number of servers. Intelligent load balancer (updated drivers) take care of routing queries to the appropriate shards.
PoC: Using a Group Communication System to improve MySQL Replication HAUlf Wendel
High Availability solutions for MySQL Replication are either simple to use but introduce a single point of failure or free of pitfalls but complex and hard to use. The Proof-of-Concept sketches a way in the middle. For monitoring a group communication system is embedded into MySQL usng a MySQL plugin which eliminates the monitoring SPOF and is easy to use. Much emphasis is put of the often neglected client side. The PoC shows an architecture in which clients reconfigure themselves dynamically. No client deployment is required.
Built-in query caching for all PHP MySQL extensions/APIsUlf Wendel
Query caching boosts the performance of PHP MySQL applications. Caching can be done on the database server or at the web clients. A new mysqlnd plugin adds query caching to all PHP MySQL extension: written in C, immediately usable with any PHP application because of no API changes, supports Memcache, APC, SQLite and main memory storage, integrates itself smoothless into existing PHP deployment infrastructure, helps you to scale by client, ... Enjoy!
Upgrading mysql version 5.5.30 to 5.6.10Vasudeva Rao
The document provides steps to upgrade a MySQL database from version 5.5.30 to 5.6.10 on a Linux server. It involves downloading the MySQL 5.6 RPM files, stopping the existing 5.5 server, moving the existing data directory, removing the 5.5 RPMs, installing the 5.6 RPMs, moving the data directory back, starting the 5.6 server, and running mysql_upgrade to convert the database to the new version's format. Additional configuration changes for the new 5.6 version are also recommended.
This document provides an overview and instructions for installing and configuring ProxySQL. It discusses:
1. What ProxySQL is and its functions like load balancing and query caching
2. How to install ProxySQL on CentOS and configure the /etc/proxysql.cnf file
3. How to set up the ProxySQL schema to define servers, users, variables and other settings needed for operation
4. How to test ProxySQL functions like server status changes and benchmark performance
[db tech showcase Tokyo 2014] B15: Scalability with MariaDB and MaxScale by ...Insight Technology, Inc.
Scalability with MariaDB and MaxScale talks about MariaDB 10, and MaxScale, a pluggable router for your queries. These are technologies developed at MariaDB Corporation, made opensource, and will help scale your MariaDB and MySQL workloads
A Deep Dive into ASM Redundancy in ExadataEmre Baransel
Exadata Database Machine provides a solid storage redundancy infrastructure using ASM. Physical disks on multiple storage cell servers are logically partitioned, grouped and managed centrally by ASM. The way Exadata uses ASM has its own rules. The new term "Grid disk", ASM background processes, failgroups, redundancy options differ from non-Exadata systems. This storage configuration may sometimes seem to be complicated to Exadata Database Machine administrators. It's important to be able to answer the following questions, which are the topics of this presentation:
To what degree, disk and cell failures are tolerated;
How to understand if ASM is able to re-build redundancy after disk or cell failures;
What happens when multiple disks are failed at the same time and does it matter which disks failed;
What we need to pay attention to in terms of redundancy, when we do administrative task such as rolling restart of cell servers, resizing diskgroups, etc.
This document provides tuning recommendations for various MySQL configuration variables. It recommends:
- Tuning variables one at a time and being aware of interdependencies
- Setting innodb_buffer_pool_size to 2x RAM for write-intensive workloads
- Setting max_connections to over 1000 is not recommended and to use a thread pool instead
- Avoid using innodb_file_per_table for workloads with over 10k tables
- Setting innodb_flush_log_at_trx_commit to 1 for safety and 2 for replication.
This document provides instructions for converting an existing standard 2-node Oracle RAC environment to use Flex Clusters and Flex ASM in Oracle 12c. It describes Flex Clusters, which introduce Hub and Leaf nodes, and Flex ASM, which allows ASM instances to run on separate physical servers. The instructions show how to check the current cluster and ASM modes, and then use the ASM Configuration Assistant GUI to convert to Flex ASM, selecting the default listener and private interconnect for ASM network traffic.
MaxScale is a database proxy that provides high availability and scalability for MariaDB servers. It can be used to configure load balancing of read/write connections, auto failover/switchover/rejoin using MariaDB GTID replication. Keepalived can be used with MaxScale to provide high availability by monitoring MaxScale and failing over if needed. The document provides details on setting up MariaDB replication with GTID, installing and configuring MaxScale and Keepalived. It also describes testing the auto failover functionality.
This document provides an overview of Flex Clusters and Flex ASM in Oracle databases. It defines Flex Clusters as having both hub nodes, which have direct access to shared storage similar to standard clusters, and leaf nodes, which do not require direct storage access. It describes how Flex ASM allows Oracle ASM to run in a Flex Cluster environment across multiple ASM instances. It also provides instructions on converting existing clusters and ASM configurations to the Flex model.
This document provides instructions for setting up different types of MySQL replication architectures:
1) It describes how to configure basic master-slave replication between two servers with step-by-step instructions for configuring the master and slave servers.
2) It also provides a second method for implementing master-slave replication with additional details on configuring the replication user and importing databases.
3) Finally, it outlines how to set up a master-master replication configuration between two MySQL servers to provide high availability, with each server acting as both a master and slave.
Percona XtraBackup is an open-source tool for performing backups of MySQL or MariaDB databases. It can create full, incremental, compressed, encrypted, and streaming backups. For full backups, it copies data files and redo logs then runs crash recovery to make the data consistent. Incremental backups only copy changed pages by tracking log sequence numbers. The backups can be prepared then restored using copy-back or move-back options.
This document provides an overview and configuration details for Oracle Flex Clusters and Flex ASM in Oracle Database 12c. Key points include:
- Flex Clusters introduce a hub-and-spoke topology that can scale to 64 hub nodes and many more leaf nodes to reduce interconnect complexity.
- Flex ASM allows database instances to connect to ASM instances running on a subset of nodes rather than each node, improving high availability.
- Configuring a Flex Cluster requires specifying hub and leaf nodes. Flex ASM is automatically enabled. Existing clusters can be converted to Flex mode.
- The architecture introduces an ASM network for communication between ASM and clients. ASM listeners provide load balancing across instances.
The document provides an overview of diagnosing performance and other issues with the InnoDB storage engine in MySQL. It discusses various sources of information for troubleshooting like SHOW ENGINE INNODB STATUS and OS tools. Common problems covered include the InnoDB data dictionary getting out of sync, crashes/segmentation faults, locking issues, and performance problems related to disk I/O, buffer pool hit rates, high CPU usage from row operations or thread thrashing. Interpreting diagnostic output and potential solutions are also outlined.
MySQL High-Availability and Scale-Out architecturesFromDual GmbH
This document discusses MySQL high availability and scale-out architectures. It covers topics like scale-up vs scale-out, MySQL replication, high availability solutions, MySQL Cluster, application partitioning, and other architectural considerations. The document provides examples of MySQL replication configurations and cluster architectures to achieve goals like high availability, performance and scale-out. It also discusses emerging technologies like SSD that could disrupt database architectures.
The document discusses testing HBase source code. It describes the required JAR files for a simple test, inserts test data into HBase tables, and measures the insertion performance. It also summarizes the entry points for HMaster and HRegionServer source code, and describes some common HBase operations like building tables, handling DDL exceptions, flushing, compacting, and splitting regions.
Many questions on database newsgroups and forums can be answered with uses of outer joins. Outer joins are part of the standard SQL language and supported by all RDBMS brands. Many programmers are expected to use SQL in their work, but few know how to use outer joins effectively.
Learn to use this powerful feature of SQL, increase your employability, and amaze your friends!
Karwin will explain outer joins, show examples, and demonstrate a Sudoku puzzle solver implemented in a single SQL query.
MySQL InnoDB Cluster and Group Replication - OSI 2017 BangaloreSujatha Sivakumar
The document discusses MySQL InnoDB Cluster and Group Replication. It provides an introduction and overview of InnoDB Cluster, outlining the key features and how to get an InnoDB Cluster up and running in 3 steps: deploying instances, creating a cluster, and adding more instances. It also covers setting up and starting a router. For Group Replication, it discusses the concept of replicating writes across multiple servers for high availability and read scaling. It shows how Group Replication achieves consensus on membership, message delivery and state updates across the group.
Group Replication: A Journey to the Group Communication CoreAlfranio Júnior
This document discusses the journey of MySQL Group Replication from using a third-party group communication system (Corosync) to its own built-in group communication engine (XCOM) based on Paxos algorithms. It describes the key components of MySQL Group Replication including the group communication interface, XCOM engine, and optimizations in XCOM like pipelining and batching. It also provides performance results of MySQL Group Replication with multiple writers.
MySQL InnoDB Cluster - A complete High Availability solution for MySQLOlivier DASINI
MySQL InnoDB Cluster provides a complete high availability solution for MySQL. It uses MySQL Group Replication, which allows for multiple read-write replicas of a database to exist with synchronous replication. MySQL InnoDB Cluster also includes MySQL Shell for setup, management and orchestration of the cluster, and MySQL Router for intelligent connection routing. It allows databases to scale out writes across replicas in a fault-tolerant and self-healing manner.
MySQL High Availability and Disaster Recovery with Continuent, a VMware companyContinuent
Users seeking high availability, disaster recovery and zero downtime maintenance operation for business-critical MySQL applications face confusing choices. Is multi-master or master/slave clustering better? What about synchronous versus asynchronous replication? Using a plain vanilla, stock MySQL or a modified version of it? Which of these choices are right for data-driven businesses that depend on fast, reliable data access?
This no-BS webinar cuts through the FUD to explore the real trade-offs between the different clustering and replication methods, thens show you how Continuent's asynchronous master/slave clusters support these important capabilities for business-critical applications:
- High application write rates Master/slave clustering with Continuent
- Mixed workloads consisting of large and small transactions
- Data across multiple geographically distributed locations
- Failures and more importantly recovery from them
- Zero downtime maintenance and software upgrades
- Use of off-the-shelf MySQL/MariaDB to avoid application changes and allow clusters to improve as MySQL itself does.
We illustrate key points with demonstrations and case studies from deployed systems.
A presentation about how to make MySQL highly available, presented at the San Francisco MySQL Meetup (http://www.sfmysql.org/events/15760472/) on January 26th, 2011.
A video recording of this presentation is available from Ustream: http://ustre.am/fyLk
"Disaster is inevitable" and "To move forward you must first backup" should be known to all software developers. This presentation will discuss all the options for your valuable data assets in MySQL, and highlight how to maintain site reliability of your data
MySQL Replication Performance Tuning for Fun and Profit!Vitor Oliveira
MySQL Replication, in addition to bringing high-availability, is the foundation to build high-performance MySQL database systems. Using read scale-out and sharding one can design systems that go from the capacity of a single server to supporting the largest internet sites. But to design and operate high-performance, efficient, manageable and reliable deployments requires knowing the intricacies of the underlying technologies.
This session will provide insights on the main factors that affect the performance of Asynchronous Replication and Group Replication, and how to configure them to make the most out of the underlying computing system. It will also show the latest developments in MySQL 5.7 and 8.0, in areas spanning from group communication to the multi-threaded slave applier, and how effective they are in helping meet the performance requirements in terms of throughput, latency and durability to support the most demanding workload types.
A New Architecture for Group Replication in Data GridEditor IJCATR
Nowadays, grid systems are vital technology for programs running with high performance and problems solving with largescale
in scientific, engineering and business. In grid systems, heterogeneous computational resources and data should be shared
between independent organizations that are scatter geographically. A data grid is a kind of grid types that make relations computational
and storage resources. Data replication is an efficient way in data grid to obtain high performance and high availability by saving
numerous replicas in different locations e.g. grid sites. In this research, we propose a new architecture for dynamic Group data
replication. In our architecture, we added two components to OptorSim architecture: Group Replication Management component
(GRM) and Management of Popular Files Group component (MPFG). OptorSim developed by European Data Grid projects for
evaluate replication algorithm. By using this architecture, popular files group will be replicated in grid sites at the end of each
predefined time interval.
Group Replication went Generally Available end of 2016, it introduces a 'synchronous' active:active multi-master eplication, in addition to asynchronous and semi-synchronous replication, the latter 2 being available in in MySQL for longtime.
As with any new feature, and especially with introducing active:active multi-master replication, it takes a while before companies are adopting the software in production database environment.
For example, even though MySQL 5.7 has been GA for more than a year, adoption is only starting to increase recently.
We can, and should, expect the same from Group Replication. As with every release, bugs will be found, and with new features, best practises still need to formed out of practical experience.
After giving a short introduction on what Group Replication is, I will cover my experience so far in evaluating Group Replication.
Inno db internals innodb file formats and source code structurezhaolinjnu
This document discusses the goals, architecture, and on-disk format of the InnoDB storage engine for MySQL. InnoDB aims to provide transaction support, reliability, and scalability. Its architecture includes buffering, locking, recovery, and efficient I/O mechanisms. The on-disk format is designed for durability, performance through techniques like compression, and compatibility through file format management. Source code is organized into subdirectories corresponding to major subsystems.
This document provides an overview of techniques for capturing and analyzing SQL queries in MySQL databases. It discusses built-in MySQL options like the slow query log, general query log, and binary log. It also covers other techniques like using MySQL Proxy, TCP/IP capture, Dtrace/SystemTap, and application management. Specific examples are provided for slow query log output, the general query log from WordPress, and the binary log and processlist.
This document discusses various approaches for scaling MySQL databases. It begins with an overview of using replication between a master and slave server to offload reads. Additional approaches covered include load balancing reads across multiple slaves, sharding data across multiple database instances, using MySQL Fabric or Galera Cluster for high availability, and deploying a MySQL Cluster for high performance and redundancy. The document cautions that scaling databases comes with costs and challenges, and emphasizes starting with normalized data and monitoring growth.
Learn the current state of the NoSQL landscape and discover the different data models within it. From document stores and key value databases to graph and Wide Column. Then you’ll learn why wide column databases are the most appropriate for scalable high performance use cases, including capabilities for massive scale-out architecture, peer-to-peer clustering to avoid bottlenecking and built-in multi-datacenter replication.
MySQL Group Replication is a new 'synchronous', multi-master, auto-everything replication plugin for MySQL introduced with MySQL 5.7. It is the perfect tool for small 3-20 machine MySQL clusters to gain high availability and high performance. It stands for high availability because the fault of replica don't stop the cluster. Failed nodes can rejoin the cluster and new nodes can be added in a fully automatic way - no DBA intervention required. Its high performance because multiple masters process writes, not just one like with MySQL Replication. Running applications on it is simple: no read-write splitting, no fiddling with eventual consistency and stale data. The cluster offers strong consistency (generalized snapshot isolation).
It is based on Group Communication principles, hence the name.
ConFoo MySQL Replication Evolution : From Simple to Group ReplicationDave Stokes
MySQL Replication has been around for many years but how wee do you under stand it? Do you know about read/write splitting, RBR vs SBR style replication, and InnoDB cluster?
Galera Cluster for MySQL vs MySQL (NDB) Cluster: A High Level Comparison Severalnines
Galera Cluster for MySQL, Percona XtraDB Cluster and MariaDB Cluster (the three “flavours” of Galera Cluster) make use of the Galera WSREP libraries to handle synchronous replication.MySQL Cluster is the official clustering solution from Oracle, while Galera Cluster for MySQL is slowly but surely establishing itself as the de-facto clustering solution in the wider MySQL eco-system.
In this webinar, we will look at all these alternatives and present an unbiased view on their strengths/weaknesses and the use cases that fit each alternative.
This webinar will cover the following:
MySQL Cluster architecture: strengths and limitations
Galera Architecture: strengths and limitations
Deployment scenarios
Data migration
Read and write workloads (Optimistic/pessimistic locking)
WAN/Geographical replication
Schema changes
Management and monitoring
The document provides an introduction to NOSQL databases. It begins with basic concepts of databases and DBMS. It then discusses SQL and relational databases. The main part of the document defines NOSQL and explains why NOSQL databases were developed as an alternative to relational databases for handling large datasets. It provides examples of popular NOSQL databases like MongoDB, Cassandra, HBase, and CouchDB and describes their key features and use cases.
This document provides an overview of MySQL, including:
1) MySQL is an open-source relational database management system that is popular for web applications.
2) The document reviews database terminology and covers installing and configuring MySQL on Linux and Windows.
3) Administrative tasks like starting/stopping the MySQL server, creating user accounts, and using MySQL commands are described.
MySQL Replication Evolution -- Confoo Montreal 2017Dave Stokes
MySQL Replication has evolved since the early days with simple async master/slave replication with better security, high availability, and now InnoDB Cluster
NoSQL databases are non-relational databases designed for large volumes of data across many servers. They emerged to address scaling and reliability issues with relational databases. While different technologies, NoSQL databases are designed for distribution without a single point of failure and to sacrifice consistency for availability if needed. Examples include Dynamo, BigTable, Cassandra and CouchDB.
The document discusses MySQL NDB 8.0 and high availability solutions for MySQL. It summarizes MySQL NDB Cluster, MySQL InnoDB Cluster, and MySQL Replication as high availability solutions. It also discusses features and performance of MySQL NDB Cluster 8.0, including linear scalability, predictable low-latency performance, and improved backup throughput.
Tech Talk Series, Part 2: Why is sharding not smart to do in MySQL?Clustrix
The document discusses scaling MySQL databases and alternatives to sharding. It begins by outlining the typical path organizations take to sharding MySQL as their data and usage grows over time. This involves continually upgrading hardware, adding read replicas, and eventually implementing sharding. The document then covers the challenges of sharding, such as data skew across shards, lack of ACID transactions, application changes required, and complex infrastructure needs. As an alternative, the document introduces ClustrixDB, a database that can scale write and read performance linearly just by adding more servers without sharding. It achieves this through automatic data distribution, query fan-out, and data rebalancing. Performance benchmarks show ClustrixDB vastly outscaling alternatives on Amazon
Building and deploying large scale real time news system with my sql and dist...Tao Cheng
Maintaining a constantly updated large data set alone is a big challenging not only to database administrators but also to developers as it is hard to maintain and expand. It adds more stress when the requirement is to serve real time data to heavy traffic websites.
In this presentation, we first examine the initial characteristics of AOL’s Real Time News system, the design strategy, and how MySQL fits into the overall architecture. We then review the issues encountered and the solutions applied when the system characteristics changed due to ever growing data set size and new query patterns.
In addition to common MySQL design, trouble-shooting, and performance tuning techniques, we will also share a heuristic algorithm implemented in the application servers to reduce the response time of complex queries from hours to a few milliseconds.
NativeX (formerly W3i) recently transitioned a large portion of their backend infrastructure from MS SQL Server to Apache Cassandra. Today, its Cassandra cluster backs its mobile advertising network supporting over 10 million daily active users producing over 10,000 transactions per second with an average database request latency of under 2 milliseconds. Going from relational to noSQL required NativeX's engineers to re-train, re-tool and re-think the way it architects applications and infrastructure. Learn why Cassandra was selected as a replacement, what challenges were encountered along the way, and what architecture and infrastructure were involved in the implementation.
How to Manage Scale-Out Environments with MariaDB MaxScaleMariaDB plc
MaxScale is a database proxy that provides load balancing, connection pooling, and replication capabilities for MariaDB and MySQL databases. It can be used to scale databases horizontally across multiple servers for increased performance and availability. The document provides an overview of MaxScale concepts and capabilities such as routing, filtering, security features, and how it can be used for operational tasks like query caching, logging, and data streaming. It also includes instructions on setting up MaxScale with a basic example of configuring read/write splitting between a master and slave database servers.
The document discusses scalable storage systems and key-value stores as an alternative to traditional databases. It provides an overview of vertical and horizontal scalability. Traditional databases are not well-suited for scalable systems due to their complexity, wasted features, and multi-step query processing. Key-value stores offer simpler data models and interfaces that are designed from the start for scaling across hundreds of machines. Performance comparisons show key-value stores significantly outperforming traditional databases. The document also outlines how key-value storage systems work at the aggregation and storage layers.
The document provides an overview of NewSQL databases. It discusses why NewSQL databases were created, including the need to handle extreme amounts of data and traffic. It describes some key characteristics of NewSQL databases, such as providing scalability like NoSQL databases while also supporting SQL and ACID transactions. Finally, it reviews some examples of NewSQL database products, like VoltDB and Google Spanner, and their architectures.
Conquering "big data": An introduction to shard queryJustin Swanhart
Shard-Query is a middleware solution that enables massively parallel query execution for MySQL databases. It works by splitting single SQL queries into multiple smaller queries or tasks that can run concurrently on one or more database servers. This allows it to scale out query processing across more CPUs and servers for improved performance on large datasets and analytics workloads. It supports both partitioning tables for parallelism within a single server as well as sharding tables across multiple servers. The end result is that it can enable MySQL to perform like other parallel database solutions through distributed query processing.
Data has a better idea the in-memory data gridBogdan Dina
The document discusses the In-Memory Data Grid (IMDG) and Hazelcast IMDG. It begins with an introduction to IMDGs and their benefits for performance, data handling, and operations. It then covers topics like replication vs partitioning, deployment options, and features of Hazelcast IMDG like its rich APIs, ease of use, and ability to function as a distributed data store. The document outlines a business scenario using Hazelcast IMDG and highlights features like client-server deployment, TCP/IP discovery, replicated and partitioned maps, user code deployment, and integration with Spring. It concludes with an overview of the demo.
Database Architecture & Scaling Strategies, in the Cloud & on the Rack Clustrix
Watch the recording here: https://www.youtube.com/watch?v=ZwERp38ynxQ&feature=youtu.be
In this webinar, Robbie Mihayli, VP of Engineering at Clustrix explores how to set up a SQL RDBMS architecture that scales out and is both elastic and consistent, while simultaneously delivering fault tolerance and ACID compliance.
He also covers how data gets distributed in this architecture, how the query processor works, how rebalancing happens and other architectural elements. Examples cited include cloud deployments and e-commerce use-cases.
In this webinar, you will learn:
1. Five RDBMS scaling strategies along with their trade offs
2. The importance of having no single point of failure for OLTP (fault tolerance)
3. The vagaries of the cloud and how it impacts using an RDBMS in the cloud
Who should watch?
1. People interested in high performance, real-time database solutions
2. Companies who have MySQL in their infrastructure and are concerned that their growth will soon overwhelm MySQL’s single-box design
3. DBA’s who implement ‘read slaves’, ‘multiple-masters’ and ‘sharding’ for MySQL databases and want to learn about better ways to scale
Similar to Mysql high availability and scalability (20)
Details of description part II: Describing images in practice - Tech Forum 2024BookNet Canada
This presentation explores the practical application of image description techniques. Familiar guidelines will be demonstrated in practice, and descriptions will be developed “live”! If you have learned a lot about the theory of image description techniques but want to feel more confident putting them into practice, this is the presentation for you. There will be useful, actionable information for everyone, whether you are working with authors, colleagues, alone, or leveraging AI as a collaborator.
Link to presentation recording and transcript: https://bnctechforum.ca/sessions/details-of-description-part-ii-describing-images-in-practice/
Presented by BookNet Canada on June 25, 2024, with support from the Department of Canadian Heritage.
How to Avoid Learning the Linux-Kernel Memory ModelScyllaDB
The Linux-kernel memory model (LKMM) is a powerful tool for developing highly concurrent Linux-kernel code, but it also has a steep learning curve. Wouldn't it be great to get most of LKMM's benefits without the learning curve?
This talk will describe how to do exactly that by using the standard Linux-kernel APIs (locking, reference counting, RCU) along with a simple rules of thumb, thus gaining most of LKMM's power with less learning. And the full LKMM is always there when you need it!
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...Chris Swan
Have you noticed the OpenSSF Scorecard badges on the official Dart and Flutter repos? It's Google's way of showing that they care about security. Practices such as pinning dependencies, branch protection, required reviews, continuous integration tests etc. are measured to provide a score and accompanying badge.
You can do the same for your projects, and this presentation will show you how, with an emphasis on the unique challenges that come up when working with Dart and Flutter.
The session will provide a walkthrough of the steps involved in securing a first repository, and then what it takes to repeat that process across an organization with multiple repos. It will also look at the ongoing maintenance involved once scorecards have been implemented, and how aspects of that maintenance can be better automated to minimize toil.
The DealBook is our annual overview of the Ukrainian tech investment industry. This edition comprehensively covers the full year 2023 and the first deals of 2024.
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...Erasmo Purificato
Slide of the tutorial entitled "Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Emerging Trends" held at UMAP'24: 32nd ACM Conference on User Modeling, Adaptation and Personalization (July 1, 2024 | Cagliari, Italy)
Are you interested in dipping your toes in the cloud native observability waters, but as an engineer you are not sure where to get started with tracing problems through your microservices and application landscapes on Kubernetes? Then this is the session for you, where we take you on your first steps in an active open-source project that offers a buffet of languages, challenges, and opportunities for getting started with telemetry data.
The project is called openTelemetry, but before diving into the specifics, we’ll start with de-mystifying key concepts and terms such as observability, telemetry, instrumentation, cardinality, percentile to lay a foundation. After understanding the nuts and bolts of observability and distributed traces, we’ll explore the openTelemetry community; its Special Interest Groups (SIGs), repositories, and how to become not only an end-user, but possibly a contributor.We will wrap up with an overview of the components in this project, such as the Collector, the OpenTelemetry protocol (OTLP), its APIs, and its SDKs.
Attendees will leave with an understanding of key observability concepts, become grounded in distributed tracing terminology, be aware of the components of openTelemetry, and know how to take their first steps to an open-source contribution!
Key Takeaways: Open source, vendor neutral instrumentation is an exciting new reality as the industry standardizes on openTelemetry for observability. OpenTelemetry is on a mission to enable effective observability by making high-quality, portable telemetry ubiquitous. The world of observability and monitoring today has a steep learning curve and in order to achieve ubiquity, the project would benefit from growing our contributor community.
How RPA Help in the Transportation and Logistics Industry.pptxSynapseIndia
Revolutionize your transportation processes with our cutting-edge RPA software. Automate repetitive tasks, reduce costs, and enhance efficiency in the logistics sector with our advanced solutions.
Are you interested in learning about creating an attractive website? Here it is! Take part in the challenge that will broaden your knowledge about creating cool websites! Don't miss this opportunity, only in "Redesign Challenge"!
What's Next Web Development Trends to Watch.pdfSeasiaInfotech2
Explore the latest advancements and upcoming innovations in web development with our guide to the trends shaping the future of digital experiences. Read our article today for more information.
GDG Cloud Southlake #34: Neatsun Ziv: Automating AppsecJames Anderson
The lecture titled "Automating AppSec" delves into the critical challenges associated with manual application security (AppSec) processes and outlines strategic approaches for incorporating automation to enhance efficiency, accuracy, and scalability. The lecture is structured to highlight the inherent difficulties in traditional AppSec practices, emphasizing the labor-intensive triage of issues, the complexity of identifying responsible owners for security flaws, and the challenges of implementing security checks within CI/CD pipelines. Furthermore, it provides actionable insights on automating these processes to not only mitigate these pains but also to enable a more proactive and scalable security posture within development cycles.
The Pains of Manual AppSec:
This section will explore the time-consuming and error-prone nature of manually triaging security issues, including the difficulty of prioritizing vulnerabilities based on their actual risk to the organization. It will also discuss the challenges in determining ownership for remediation tasks, a process often complicated by cross-functional teams and microservices architectures. Additionally, the inefficiencies of manual checks within CI/CD gates will be examined, highlighting how they can delay deployments and introduce security risks.
Automating CI/CD Gates:
Here, the focus shifts to the automation of security within the CI/CD pipelines. The lecture will cover methods to seamlessly integrate security tools that automatically scan for vulnerabilities as part of the build process, thereby ensuring that security is a core component of the development lifecycle. Strategies for configuring automated gates that can block or flag builds based on the severity of detected issues will be discussed, ensuring that only secure code progresses through the pipeline.
Triaging Issues with Automation:
This segment addresses how automation can be leveraged to intelligently triage and prioritize security issues. It will cover technologies and methodologies for automatically assessing the context and potential impact of vulnerabilities, facilitating quicker and more accurate decision-making. The use of automated alerting and reporting mechanisms to ensure the right stakeholders are informed in a timely manner will also be discussed.
Identifying Ownership Automatically:
Automating the process of identifying who owns the responsibility for fixing specific security issues is critical for efficient remediation. This part of the lecture will explore tools and practices for mapping vulnerabilities to code owners, leveraging version control and project management tools.
Three Tips to Scale the Shift Left Program:
Finally, the lecture will offer three practical tips for organizations looking to scale their Shift Left security programs. These will include recommendations on fostering a security culture within development teams, employing DevSecOps principles to integrate security throughout the development
6. Scalability Scalability refers to the ability to spread the load of your application queries across multiple MySQL servers.
7. Scalability - Scale up Scale vertically - add resources to a single node in a system, typically involving the addition of CPUs or memory to a single computer. Pros : Simple Maintenance Centralization Data, Simple application architecture Cons : Expensive Device Limitation of processing, Prone to bottleneck Single point of failure
8. Scalability - Scale out Scale horizontal - add more nodes to a system, such as adding a new computer to a distributed software application. Pros : Bottleneck is not easy occur Low cost device. Little impact on single point of failure, HA Cons : More nodes, more complex Difficult to maintain
10. Scalability - P rinciple Principle : M inimize Transaction R elevance Data Consistency, BASE model HA 、 D ata S ecurity. Data Redundancy.
11. MySQL Replication Features : Across different platforms Asynchronous One master to any number of slaves.(separate R/W) Data can only be written to the master No guarantee that data on master and slaves will be consistent at a given point in time. Full replication of data
12. MySQL Replication - Process Master I/O thread Binary Log (mysqld log-bin) Slave I/O thread SQL thread Relay Log Master-info
13. MySQL Replication - Level Statement Level Row Level (support from 5.1.5) Mixed Level (support from 5.1.8,default)
14. MySQL Replication - A rchitecture Master-slaves Master repl W R salve client client client
15. MySQL Replication - A rchitecture Master – Master repl R/W client client client
16. MySQL Replication - A rchitecture Master-Slaves-Slaves : Cascading replication Master repl salve salve repl W R salve client client client
17. MySQL Replication - A rchitecture Master-Master-Slaves Master repl Master repl W R salve client client client
21. Sharding Vertical S harding according to function, different table locate on different DB Horizontal Sharding data on same table locate on different DB Mixed Sharding Pros and Cons
23. Sharding Each application system maintain its required data sources Unified management by middle layer Self-developed MySQL Proxy ( connection route 、 load balance 、 HA 、 query filter 、 query modify ) Amoeba , based on java HiveDB
24. Sharding Problems : Distribute transaction question Join cross multi nodes ( supported by federated storage engine ) Merge sort paging cross multi nodes
26. MySQL Cluster Real-time transactional relational “ Shared-nothing" distributed architecture No single point of failure, two replicas is needed Synchronous and two-phase commit R/W on any nodes Automatic failover between nodes
29. MySQL Cluster Three parts: Manage node SQL node, startup with ndbcluster NDB data node Data storage and management of both in-memory and disk-based data Automatic and user defined partitioning of data Synchronous replication of data between data nodes Transactions and data retrieval Automatic fail over Resynchronization after failure
31. MySQL Cluster Cluster Nodes Node Groups [number_of_node_groups] = number_of_data_nodes / NumberOfReplicas Replicas The number of replicas is equal to the number of nodes per node group Partitions This is a portion of the data stored by the cluster MySQL Cluster normally partitions NDBCLUSTER tables automatically Horizontal Data Partitioning. Based on hash algorithm based on the primary key on the table.
34. DRBD DRBD (Distributed Replicated Block Device) is a solution from Linbit supported only on Linux. DRBD creates a virtual block device (which is associated with an underlying physical block device) that can be replicated from the primary server to a secondary server. .
不仅对数据进行了水平切分,还对数据进行了跨节点冗余 MySQL Cluster is designed not to have any single point of failure. In a shared-nothing system, each component is expected to have its own memory and disk, and the use of shared storage mechanisms such as network shares, network file systems, and SANs is not recommended or supported. MySQL Cluster is a synchronous solution that enables multiple MySQL instances to share database information. Unlike replication, data in a cluster can be read from or written to any node within the cluster, and information will be distributed to the other nodes. Advantages Offers multiple read and write nodes for data storage. Provides automatic failover between nodes. Only transaction information for the active node being used is lost in the event of a failure. Data on nodes is instantaneously distributed to the other data nodes. Disadvantages Available on a limited range of platforms. Nodes within a cluster should be connected via a LAN; geographically separate nodes are not supported. However, you can replicate from one cluster to another using MySQL Replication, although the replication in this case is still asynchronous. Recommended uses Applications that need very high availability, such as telecoms and banking. Applications that require an equal or higher number of writes compared to reads. Oracle RAC: share everyThing Mysql cluster: share nothing Oracle RAC relies on a "shared storage" architecture that requires an additional investment in SAN (Storage Area Network) infrastructure
The requirement for a SAN results in: An additional expense for customers since they have to turn to a 3rd party for a networked storage solution. A shared disk can cost $15k-20k in addition to the database license even for a small implementation. * Recovery from a failed node requires access to the shard-disk which increases time to failover to minutes vs. the sub-second failover time of MySQL Cluster. * A single point of failure in the cluster. Heartbeat, 平衡负载,自动路由, VIP Shared Nothing 结构 数据库被分区到集群的每个节点上。每个节点都有一个数据的唯一子集 ( 保存着所有数据的一部分),所有访问这些数据的都要到这个节点。数据并行操作的性能,取决于数据被合理的分区。每个分区被各自的处理器进行管理。 系统可以使用双磁盘子系统,保留一个物理备份,来防止某个节点错误影响系统可用性。不过此时依然会显著的降低整体性能。 “ shared-nothing” , 单打独斗 那么 Oracle RAC 就是通过把所有的数据库资源( databasefile,controlfile,logfile 等)共享出来,放到一个物理的存储介质中,并对其牢固可靠的保存,然后采用高端的连接技术将其与各 Instance 节点进行连接,达到 shared-everything 。 Orace 的 RAC 让磁盘可以被所有的节点链接。数据库文件在所有的节点间逻辑共享。每个实例都可以访问所有的数据。共享磁盘访问可以通过硬件链接或者操作系统层提供一个所有节点上设备的单一视图。如果多个节点同时链接相同的数据块,事务共享磁盘数据库系统使用磁盘 I/O 来同步多个节点的数据访问,比如通过一个写入块的锁来防止其他节点访问同样的数据块。 DB2 不是纯粹的 Shared_Nothing, 它为了可用性,使用了 Shared-Disk 的数据库,它的 Shared-Nothing 指的是在运行期间对数据的所有权,而不是物理上的关系。
MySQL Cluster normally partitions NDBCLUSTER tables automatically Horizontal Data Partitioning Data within NDB tables is automatically partitioned across all of the data nodes in the system. This is done based on a hashing algorithm based on the PRIMARY KEY on the table , and is transparent to the end application . In the 5.1 release, users can define their own partitioning schemes.
replicate asynchronously
Advantages Provides high availability and data integrity across two servers in the event of hardware or system failure. Can ensure data integrity by enforcing write consistency on the primary and secondary nodes. Disadvantages Only provides a method for duplicating data across the nodes. Secondary nodes cannot use the DRBD device while data is being replicated, and so the MySQL on the secondary node cannot be simultaneously active. Can not be used to scale performance, since you can not redirect reads to the secondary node. Recommended uses High availability situations where concurrent access to the data is not required, but instant access to the active data in the event of a system or hardware failure is required