- The document provides an overview of MySQL and how it works internally. It discusses the key components of MySQL including the MySQL daemon (mysqld), storage engines like InnoDB and MyISAM, and the buffer pool.
- Schema changes in earlier versions of MySQL were blocking and required table locks. More recent versions support online schema changes using triggers to copy data to a new table in the background.
- InnoDB performs queries by loading relevant pages from the tablespace into the buffer pool in memory for fast random access, then writing changes to the redo log and periodically to the tablespace on disk.
Modern Linux Performance Tools for Application TroubleshootingTanel Poder
Modern Linux Performance Tools for Application Troubleshooting.
Mostly demos and focused on application/process troubleshooting, not systemwide summaries.
Cascading - A Java Developer’s Companion to the Hadoop WorldCascading
Presentation by Dhruv Kumar, Sr. Field Engineer at Concurrent.
Amid all the hype and investment around Big Data technologies, many Java software engineers are asking what it takes to become big data engineers. As Java professionals, towards which path shall I steer my career?
Join Dhruv Kumar as he introduces Cascading, an open source application development framework that allows Java developers to build applications on top of Hadoop through its Java API. We’ll provide an overview of the application development landscape for developing applications on Hadoop and explain why Cascading has become so popular, comparing it to other abstractions such as Pig and Hive. Dhruv will also show you how Java developers can easily get started building applications on Hadoop with live examples of good ‘ole Java code.
Presented by Gopal Vijayaraghavan during the August 2017 Hive User Group Meeting. You can view the live stream of the meetup here: https://www.youtube.com/watch?v=L0nGKKjqdDs
Modern Linux Performance Tools for Application TroubleshootingTanel Poder
Modern Linux Performance Tools for Application Troubleshooting.
Mostly demos and focused on application/process troubleshooting, not systemwide summaries.
Cascading - A Java Developer’s Companion to the Hadoop WorldCascading
Presentation by Dhruv Kumar, Sr. Field Engineer at Concurrent.
Amid all the hype and investment around Big Data technologies, many Java software engineers are asking what it takes to become big data engineers. As Java professionals, towards which path shall I steer my career?
Join Dhruv Kumar as he introduces Cascading, an open source application development framework that allows Java developers to build applications on top of Hadoop through its Java API. We’ll provide an overview of the application development landscape for developing applications on Hadoop and explain why Cascading has become so popular, comparing it to other abstractions such as Pig and Hive. Dhruv will also show you how Java developers can easily get started building applications on Hadoop with live examples of good ‘ole Java code.
Presented by Gopal Vijayaraghavan during the August 2017 Hive User Group Meeting. You can view the live stream of the meetup here: https://www.youtube.com/watch?v=L0nGKKjqdDs
Empowering developers to deploy their own data storesTomas Doran
Empowering developers to deploy their own data stores using Terrafom, Puppet and rage. A talk about automating server building and configuration for Elasticsearch clusters, using Hashicorp and puppet labs tool. Presented at Config Management Camp 2016 in Ghent
Lessons PostgreSQL learned from commercial databases, and didn’tPGConf APAC
This is the ppt used by Illay for his presentation at pgDay Asia 2016 - "Lessons PostgreSQL learned from commercial
databases, and didn’t". The talk takes you through some of the really good things that PostgreSQL has done really well and somethings that PostgreSQL can learn from other databases
MySQL5.7 Innodb_enhance_parti_20160317Saewoong Lee
Release Date : 2016.03.17
Version : MySQL 5.7
Index :
- Part I : InnoDB Performance
- Part I : InnoDB Buffer Pool Flushing
- Part I : InnoDB internal Transaction General
- Part I : InnoDB Improved adaptive flushing
- Part II : InnoDB Online DDL
- Part II : Tablespace management
- Part II : InnoDB Bulk Load for Create Index
- Part II : InnoDB Temporary Tables
- Part II : InnoDB Full-Text CJK Support
- Part II : Support Syslog on Linux / Unix OS
- Part II : Performance_schema
- Part II : Useful tips
Training Slides: Basics 103: The Power of Tungsten Connector / ProxyContinuent
Tungsten Connector / Proxy for MySQL is truly the secret sauce for the Tungsten Clustering solution. Join us for a basic 30min introduction and tour of Tungsten Connector / Proxy, and gain an understanding of the various SQL routing methods available in Tungsten Connector / Proxy.
AGENDA
- Review the cluster architecture
- Understand the role of the Connector
- Explore Connector routing methods
- Discuss user authentication
- Review configuration files and their locations
- Explore the command line interface
Apache Big Data EU 2016: Building Streaming Applications with Apache ApexApache Apex
Stream processing applications built on Apache Apex run on Hadoop clusters and typically power analytics use cases where availability, flexible scaling, high throughput, low latency and correctness are essential. These applications consume data from a variety of sources, including streaming sources like Apache Kafka, Kinesis or JMS, file based sources or databases. Processing results often need to be stored in external systems (sinks) for downstream consumers (pub-sub messaging, real-time visualization, Hive and other SQL databases etc.). Apex has the Malhar library with a wide range of connectors and other operators that are readily available to build applications. We will cover key characteristics like partitioning and processing guarantees, generic building blocks for new operators (write-ahead-log, incremental state saving, windowing etc.) and APIs for application specification.
LINCX is an OpenFlow switch written in Erlang and running on LING (Erlang on Xen). It shows some remarkable performance. The presentation discusses various speed-related optimizations.
Integrating Apache Kafka with other systems in a reliable and scalable way is often a key part of a streaming platform. Fortunately, Apache Kafka includes the Connect API that enables streaming integration both in and out of Kafka. Like any technology, understanding its architecture and deployment patterns is key to successful use, as is knowing where to go looking when things aren’t working.
January 2015 HUG: Apache Flink: Fast and reliable large-scale data processingYahoo Developer Network
Apache Flink (incubating) is one of the latest addition to the Apache family of data processing engines. In short, Flink’s design aims to be as fast as in-memory engines, while providing the reliability of Hadoop. Flink contains (1) APIs in Java and Scala for both batch-processing and data streaming applications, (2) a translation stack for transforming these programs to parallel data flows and (3) a runtime that supports both proper streaming and batch processing for executing these data flows in large compute clusters.
Flink’s batch APIs build on functional primitives (map, reduce, join, cogroup, etc), and augment those with dedicated operators for iterative algorithms, and support for logical, SQL-like key attribute referencing (e.g., groupBy(“WordCount.word”). The Flink streaming API extends the primitives from the batch API with flexible window semantics.
Internally, Flink transforms the user programs into distributed data stream programs. In the course of the transformation, Flink analyzes functions and data types (using Scala macros and reflection), and picks physical execution strategies using a cost-based optimizer. Flink’s runtime is a true streaming engine, supporting both batching and streaming. Flink operates on a serialized data representation with memory-adaptive out-of-core algorithms for sorting and hashing. This makes Flink match the performance of in-memory engines on memory-resident datasets, while scaling robustly to larger disk-resident datasets.
Finally, Flink is compatible with the Hadoop ecosystem. Flink runs on YARN, reads data from HDFS and HBase, and supports mixing existing Hadoop Map and Reduce functions into Flink programs. Ongoing work is adding Apache Tez as an additional runtime backend.
This talk presents Flink from a user perspective. We introduce the APIs and highlight the most interesting design points behind Flink, discussing how they contribute to the goals of performance, robustness, and flexibility. We finally give an outlook on Flink’s development roadmap.
PostgreSQL has advanced in many ways but bloat remains a challenge. A solution for this in development is zheap, a new storage format in which only the latest version of the data is kept in main storage and the old version will be moved to an undo log. In this presentation delivered at Postgres Vision 2018, Robert Haas, a Major Contributor to the PostgreSQL project who is leading development of zheap at EnterpriseDB, where he is Vice President, Chief Database Architect, explains the project.
Building a High-Performance Database with Scala, Akka, and SparkEvan Chan
Here is my talk at Scala by the Bay 2016, Building a High-Performance Database with Scala, Akka, and Spark. Covers integration of Akka and Spark, when to use actors and futures, back pressure, reactive monitoring with Kamon, and more.
Postgres Vision 2018: WAL: Everything You Want to KnowEDB
The Write-Ahead Log (WAL) in PostgreSQL is a central feature of the database and it's relied upon to achieve critical functions, like backup, replication, and others. In this presentation delivered at Postgres Vision 2018, Devrim Gündüz, Principal Systems Engineer at EnterpriseDB, explains WAL and what the average database administrator needs to know.
Empowering developers to deploy their own data storesTomas Doran
Empowering developers to deploy their own data stores using Terrafom, Puppet and rage. A talk about automating server building and configuration for Elasticsearch clusters, using Hashicorp and puppet labs tool. Presented at Config Management Camp 2016 in Ghent
Lessons PostgreSQL learned from commercial databases, and didn’tPGConf APAC
This is the ppt used by Illay for his presentation at pgDay Asia 2016 - "Lessons PostgreSQL learned from commercial
databases, and didn’t". The talk takes you through some of the really good things that PostgreSQL has done really well and somethings that PostgreSQL can learn from other databases
MySQL5.7 Innodb_enhance_parti_20160317Saewoong Lee
Release Date : 2016.03.17
Version : MySQL 5.7
Index :
- Part I : InnoDB Performance
- Part I : InnoDB Buffer Pool Flushing
- Part I : InnoDB internal Transaction General
- Part I : InnoDB Improved adaptive flushing
- Part II : InnoDB Online DDL
- Part II : Tablespace management
- Part II : InnoDB Bulk Load for Create Index
- Part II : InnoDB Temporary Tables
- Part II : InnoDB Full-Text CJK Support
- Part II : Support Syslog on Linux / Unix OS
- Part II : Performance_schema
- Part II : Useful tips
Training Slides: Basics 103: The Power of Tungsten Connector / ProxyContinuent
Tungsten Connector / Proxy for MySQL is truly the secret sauce for the Tungsten Clustering solution. Join us for a basic 30min introduction and tour of Tungsten Connector / Proxy, and gain an understanding of the various SQL routing methods available in Tungsten Connector / Proxy.
AGENDA
- Review the cluster architecture
- Understand the role of the Connector
- Explore Connector routing methods
- Discuss user authentication
- Review configuration files and their locations
- Explore the command line interface
Apache Big Data EU 2016: Building Streaming Applications with Apache ApexApache Apex
Stream processing applications built on Apache Apex run on Hadoop clusters and typically power analytics use cases where availability, flexible scaling, high throughput, low latency and correctness are essential. These applications consume data from a variety of sources, including streaming sources like Apache Kafka, Kinesis or JMS, file based sources or databases. Processing results often need to be stored in external systems (sinks) for downstream consumers (pub-sub messaging, real-time visualization, Hive and other SQL databases etc.). Apex has the Malhar library with a wide range of connectors and other operators that are readily available to build applications. We will cover key characteristics like partitioning and processing guarantees, generic building blocks for new operators (write-ahead-log, incremental state saving, windowing etc.) and APIs for application specification.
LINCX is an OpenFlow switch written in Erlang and running on LING (Erlang on Xen). It shows some remarkable performance. The presentation discusses various speed-related optimizations.
Integrating Apache Kafka with other systems in a reliable and scalable way is often a key part of a streaming platform. Fortunately, Apache Kafka includes the Connect API that enables streaming integration both in and out of Kafka. Like any technology, understanding its architecture and deployment patterns is key to successful use, as is knowing where to go looking when things aren’t working.
January 2015 HUG: Apache Flink: Fast and reliable large-scale data processingYahoo Developer Network
Apache Flink (incubating) is one of the latest addition to the Apache family of data processing engines. In short, Flink’s design aims to be as fast as in-memory engines, while providing the reliability of Hadoop. Flink contains (1) APIs in Java and Scala for both batch-processing and data streaming applications, (2) a translation stack for transforming these programs to parallel data flows and (3) a runtime that supports both proper streaming and batch processing for executing these data flows in large compute clusters.
Flink’s batch APIs build on functional primitives (map, reduce, join, cogroup, etc), and augment those with dedicated operators for iterative algorithms, and support for logical, SQL-like key attribute referencing (e.g., groupBy(“WordCount.word”). The Flink streaming API extends the primitives from the batch API with flexible window semantics.
Internally, Flink transforms the user programs into distributed data stream programs. In the course of the transformation, Flink analyzes functions and data types (using Scala macros and reflection), and picks physical execution strategies using a cost-based optimizer. Flink’s runtime is a true streaming engine, supporting both batching and streaming. Flink operates on a serialized data representation with memory-adaptive out-of-core algorithms for sorting and hashing. This makes Flink match the performance of in-memory engines on memory-resident datasets, while scaling robustly to larger disk-resident datasets.
Finally, Flink is compatible with the Hadoop ecosystem. Flink runs on YARN, reads data from HDFS and HBase, and supports mixing existing Hadoop Map and Reduce functions into Flink programs. Ongoing work is adding Apache Tez as an additional runtime backend.
This talk presents Flink from a user perspective. We introduce the APIs and highlight the most interesting design points behind Flink, discussing how they contribute to the goals of performance, robustness, and flexibility. We finally give an outlook on Flink’s development roadmap.
PostgreSQL has advanced in many ways but bloat remains a challenge. A solution for this in development is zheap, a new storage format in which only the latest version of the data is kept in main storage and the old version will be moved to an undo log. In this presentation delivered at Postgres Vision 2018, Robert Haas, a Major Contributor to the PostgreSQL project who is leading development of zheap at EnterpriseDB, where he is Vice President, Chief Database Architect, explains the project.
Building a High-Performance Database with Scala, Akka, and SparkEvan Chan
Here is my talk at Scala by the Bay 2016, Building a High-Performance Database with Scala, Akka, and Spark. Covers integration of Akka and Spark, when to use actors and futures, back pressure, reactive monitoring with Kamon, and more.
Postgres Vision 2018: WAL: Everything You Want to KnowEDB
The Write-Ahead Log (WAL) in PostgreSQL is a central feature of the database and it's relied upon to achieve critical functions, like backup, replication, and others. In this presentation delivered at Postgres Vision 2018, Devrim Gündüz, Principal Systems Engineer at EnterpriseDB, explains WAL and what the average database administrator needs to know.
Inhibition, kinetic and thermodynamic effects of new Azo derivatives on iron ...Al Baha University
This investigation is designed to apply an advanced kinetic-thermodynamic model on the experimental data obtained from acidic and alkaline corrosion of iron using mono- and bis-azo dyes as corrosion inhibitors. The inhibition properties of the tested azo dyes on corrosion of iron in HNO3 and NaOH media were analyzed by gravimetric, thermometric and polarization measurements. The three studied methods gave consistent results. Polarization study showed that all the inhibitors are mixed type in acidic, act mainly as cathodic in alkaline solution. The synthesized azo dye derivatives exhibit good inhibition properties, obeys the Frumkin adsorption isotherm. The large values of the change in the standard free energy of adsorption (∆Goads), equilibrium constant (Kads) and binding constant (Kb) revealed that the reactions proceed spontaneously and result in highly efficient physisorption mechanism and stronger electrical interaction between the double layer existing at the phase boundary and the adsorbing molecules. The inhibition efficiency depends on the number of adsorption oxygen sites (OH and OMe groups), their charge density and π-electron clouds. The inhibition efficiency evaluated via theoretical methods was well accorded with reported experimental ones, following the same order as: -naphthyl- ligand > -naphthyl>p-anisdine>p-toluidine >o-toluidine >m-toluidine derivative. This research might provide a theoretical inhibition performance evaluation approach for homologous inhibitors.
Introduction to TokuDB v7.5 and Read Free ReplicationTim Callaghan
TokuDB v7.5 introduced Read Free Replication, allowing MySQL slaves to run with virtually no read IO. This presentation discusses how Fractal Tree indexes work, what they enable in TokuDB, and they allow TokuDB to uniquely offer this replication innovation.
TokuDB is an ACID/transactional storage engine that makes MySQL even better by increasing performance, adding high compression, and allowing for true schema agility. All of these features are made possible by Tokutek's Fractal Tree indexes.
MongoDB .local Toronto 2019: Finding the Right Atlas Cluster Size: Does this ...MongoDB
How do you determine whether your MongoDB Atlas cluster is over provisioned, whether the new feature in your next application release will crush your cluster, or when to increase cluster size based upon planned usage growth? MongoDB Atlas provides over a hundred metrics enabling visibility into the inner workings of MongoDB performance, but how do apply all this information to make capacity planning decisions? This presentation will enable you to effectively analyze your MongoDB performance to optimize your MongoDB Atlas spend and ensure smooth application operation into the future.
Gruter TECHDAY 2014 Realtime Processing in TelcoGruter
Big Telco, Bigger real-time demands: Real-time processing in Telco
- Presented by Jung-ryong Lee, engineer manager at SK Telecom at Gruter TECHDAY 2014 Oct.29 Seoul, Korea
Storeconfigs is not a popular feature among Puppet admins, because most don’t know how to use it or fear performance issues. Attend this talk to know how to enhance your Puppet deployments with easy cross-nodes interactions and collaborations, while conserving system efficiency.
Find out how choosing the right hardware (SSD/HDD) and software (PHP/MySQL) technologies/versions can affect your Magento performance and how understanding your workload profile is imperative to allocating resources (financial and otherwise) to your hosting environment.
Slides from my talk @ Percona Live London 2013. This talk is about database administration and how we manage percona xtradb at bodybuilding.com. There are a few benchmarks about percona, fusionio and xfs/ext4 file systems.
Benchmarking, Load Testing, and Preventing Terrible DisastersMongoDB
"Have you ever crossed your fingers before performing an upgrade or switching storage engines, because you weren't quite sure what would happen? Have you ever been bitten by a slight change in behavior that turned out to be unexpectedly significant for your workload? At Parse we have developed a workflow that lets us repeatedly capture and replay real production workloads offline. This has allowed us to confidently perform upgrades across a large fleet with a minimum amount of canarying, and has helped us load test a variety of storage engines with real workloads so we can compare and understand the performance tradeoffs.
In this talk we will cover best practices for upgrades and migrations, and we will walk through how to use our open-sourced tooling to demonstrate how you can do the same. We will also share some fun war stories about various disasters found and averted *before* putting them into production thanks to offline benchmarking."
MySQL Performance Tuning. Part 1: MySQL Configuration (includes MySQL 5.7)Aurimas Mikalauskas
Is my MySQL server configured properly? Should I run Community MySQL, MariaDB, Percona or WebScaleSQL? How many innodb buffer pool instances should I run? Why should I NOT use the query cache? How do I size the innodb log file size and what IS that innodb log anyway? All answers are inside.
Aurimas Mikalauskas is a former Percona performance consultant and architect currently writing and teaching at speedemy.com. He's been involved with MySQL since 1999, scaling and optimizing MySQL backed systems since 2004 for companies such as BBC, EngineYard, famous social networks and small shops like EstanteVirtual, Pine Cove and hundreds of others.
Additional content mentioned in the presentation can be found here: http://speedemy.com/17
Building a Large Scale SEO/SEM Application with Apache SolrRahul Jain
Slides from my talk on "Building a Large Scale SEO/SEM Application with Apache Solr" in Lucene/Solr Revolution 2014 where I talk how we handle Indexing/Search of 40 billion records (documents)/month in Apache Solr with 4.6 TB compressed index data.
Abstract: We are working on building a SEO/SEM application where an end user search for a "keyword" or a "domain" and gets all the insights about these including Search engine ranking, CPC/CPM, search volume, No. of Ads, competitors details etc. in a couple of seconds. To have this intelligence, we get huge web data from various sources and after intensive processing it is 40 billion records/month in MySQL database with 4.6 TB compressed index data in Apache Solr.
Due to large volume, we faced several challenges while improving indexing performance, search latency and scaling the overall system. In this session, I will talk about our several design approaches to import data faster from MySQL, tricks & techniques to improve the indexing performance, Distributed Search, DocValues(life saver), Redis and the overall system architecture.
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Ramesh Iyer
In today's fast-changing business world, Companies that adapt and embrace new ideas often need help to keep up with the competition. However, fostering a culture of innovation takes much work. It takes vision, leadership and willingness to take risks in the right proportion. Sachin Dev Duggal, co-founder of Builder.ai, has perfected the art of this balance, creating a company culture where creativity and growth are nurtured at each stage.
Neuro-symbolic is not enough, we need neuro-*semantic*Frank van Harmelen
Neuro-symbolic (NeSy) AI is on the rise. However, simply machine learning on just any symbolic structure is not sufficient to really harvest the gains of NeSy. These will only be gained when the symbolic structures have an actual semantics. I give an operational definition of semantics as “predictable inference”.
All of this illustrated with link prediction over knowledge graphs, but the argument is general.
Essentials of Automations: Optimizing FME Workflows with ParametersSafe Software
Are you looking to streamline your workflows and boost your projects’ efficiency? Do you find yourself searching for ways to add flexibility and control over your FME workflows? If so, you’re in the right place.
Join us for an insightful dive into the world of FME parameters, a critical element in optimizing workflow efficiency. This webinar marks the beginning of our three-part “Essentials of Automation” series. This first webinar is designed to equip you with the knowledge and skills to utilize parameters effectively: enhancing the flexibility, maintainability, and user control of your FME projects.
Here’s what you’ll gain:
- Essentials of FME Parameters: Understand the pivotal role of parameters, including Reader/Writer, Transformer, User, and FME Flow categories. Discover how they are the key to unlocking automation and optimization within your workflows.
- Practical Applications in FME Form: Delve into key user parameter types including choice, connections, and file URLs. Allow users to control how a workflow runs, making your workflows more reusable. Learn to import values and deliver the best user experience for your workflows while enhancing accuracy.
- Optimization Strategies in FME Flow: Explore the creation and strategic deployment of parameters in FME Flow, including the use of deployment and geometry parameters, to maximize workflow efficiency.
- Pro Tips for Success: Gain insights on parameterizing connections and leveraging new features like Conditional Visibility for clarity and simplicity.
We’ll wrap up with a glimpse into future webinars, followed by a Q&A session to address your specific questions surrounding this topic.
Don’t miss this opportunity to elevate your FME expertise and drive your projects to new heights of efficiency.
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
State of ICS and IoT Cyber Threat Landscape Report 2024 previewPrayukth K V
The IoT and OT threat landscape report has been prepared by the Threat Research Team at Sectrio using data from Sectrio, cyber threat intelligence farming facilities spread across over 85 cities around the world. In addition, Sectrio also runs AI-based advanced threat and payload engagement facilities that serve as sinks to attract and engage sophisticated threat actors, and newer malware including new variants and latent threats that are at an earlier stage of development.
The latest edition of the OT/ICS and IoT security Threat Landscape Report 2024 also covers:
State of global ICS asset and network exposure
Sectoral targets and attacks as well as the cost of ransom
Global APT activity, AI usage, actor and tactic profiles, and implications
Rise in volumes of AI-powered cyberattacks
Major cyber events in 2024
Malware and malicious payload trends
Cyberattack types and targets
Vulnerability exploit attempts on CVEs
Attacks on counties – USA
Expansion of bot farms – how, where, and why
In-depth analysis of the cyber threat landscape across North America, South America, Europe, APAC, and the Middle East
Why are attacks on smart factories rising?
Cyber risk predictions
Axis of attacks – Europe
Systemic attacks in the Middle East
Download the full report from here:
https://sectrio.com/resources/ot-threat-landscape-reports/sectrio-releases-ot-ics-and-iot-security-threat-landscape-report-2024/
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
Accelerate your Kubernetes clusters with Varnish CachingThijs Feryn
A presentation about the usage and availability of Varnish on Kubernetes. This talk explores the capabilities of Varnish caching and shows how to use the Varnish Helm chart to deploy it to Kubernetes.
This presentation was delivered at K8SUG Singapore. See https://feryn.eu/presentations/accelerate-your-kubernetes-clusters-with-varnish-caching-k8sug-singapore-28-2024 for more details.
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
Elevating Tactical DDD Patterns Through Object CalisthenicsDorra BARTAGUIZ
After immersing yourself in the blue book and its red counterpart, attending DDD-focused conferences, and applying tactical patterns, you're left with a crucial question: How do I ensure my design is effective? Tactical patterns within Domain-Driven Design (DDD) serve as guiding principles for creating clear and manageable domain models. However, achieving success with these patterns requires additional guidance. Interestingly, we've observed that a set of constraints initially designed for training purposes remarkably aligns with effective pattern implementation, offering a more ‘mechanical’ approach. Let's explore together how Object Calisthenics can elevate the design of your tactical DDD patterns, offering concrete help for those venturing into DDD for the first time!
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Jeffrey Haguewood
Sidekick Solutions uses Bonterra Impact Management (fka Social Solutions Apricot) and automation solutions to integrate data for business workflows.
We believe integration and automation are essential to user experience and the promise of efficient work through technology. Automation is the critical ingredient to realizing that full vision. We develop integration products and services for Bonterra Case Management software to support the deployment of automations for a variety of use cases.
This video focuses on the notifications, alerts, and approval requests using Slack for Bonterra Impact Management. The solutions covered in this webinar can also be deployed for Microsoft Teams.
Interested in deploying notification automations for Bonterra Impact Management? Contact us at sales@sidekicksolutionsllc.com to discuss next steps.
Key Trends Shaping the Future of Infrastructure.pdfCheryl Hung
Keynote at DIGIT West Expo, Glasgow on 29 May 2024.
Cheryl Hung, ochery.com
Sr Director, Infrastructure Ecosystem, Arm.
The key trends across hardware, cloud and open-source; exploring how these areas are likely to mature and develop over the short and long-term, and then considering how organisations can position themselves to adapt and thrive.
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...UiPathCommunity
💥 Speed, accuracy, and scaling – discover the superpowers of GenAI in action with UiPath Document Understanding and Communications Mining™:
See how to accelerate model training and optimize model performance with active learning
Learn about the latest enhancements to out-of-the-box document processing – with little to no training required
Get an exclusive demo of the new family of UiPath LLMs – GenAI models specialized for processing different types of documents and messages
This is a hands-on session specifically designed for automation developers and AI enthusiasts seeking to enhance their knowledge in leveraging the latest intelligent document processing capabilities offered by UiPath.
Speakers:
👨🏫 Andras Palfi, Senior Product Manager, UiPath
👩🏫 Lenka Dulovicova, Product Program Manager, UiPath
2. About me
• Before REA I worked for a hosting company for 4
years
• Learnt a lot about MySQL during this period
• I started as an OPS engineer at REA and did some
database stuff here
• I havent done much MySQL for two years
!
• In this period we’ve had
• MySQL 5.6 come out
• RDS MySQL improvements
!
!
3. Today
• High level overview of MySQL
• Look inside MySQL server
• Talk through how InnoDB performs queries
• Schema changes and online schema changes
!
!
4. Background
• Second biggest relational database in the world
• Anyone know what the biggest is?
!
• Used by many of the big web shops
• Facebook for all feed data
• Etsy for user & data
• Twitter for tweet persistence
• …
!
• Sun bought MySQL AB in 2008, people freaked out
• Oracle bought Sun in 2010, people freaked out
• Big improvements over the past few years (5.5 / 5.6)
!
5. How it works
mysqld
mysql client tcp:3306
filesocket
ServerClient
libmysql
mysql lib
ORM
host$ mysql
host$ mysqld_safe!
host$ mysqld
6. Big features
• Pluggable storage engines is massive flexibility
• You can use a different storage engine per table
!
!
• Common storage engines
• InnoDB - ACID compliant store
• MyISAM - one of the original storage engines -
avoid
• Lots and lots of others
!
11. The bad parts - binary log
mysqld
tcp:3306
filesocket
query cache
binary log
join / sort buffers
Because you can mix and
match storage engines,
replicating state has to be
done at the lowest
common denominator
Innodb
Table 1
MyISAM
Table 2
12. The bad parts - binary log
mysqld
Innodb
Table 1
tcp:3306
filesocket
query cache
binary log
join / sort buffers
Highly concurrent InnoDB
needs its queries,
serialized down
to replicate to slave
MyISAM
Table 2
13. Compare to other DBs
DB server
tcp:x
filesocket?
performance
knobs
transaction
log
14. The bad parts - query cache
mysqld
Innodb
Table 1
tcp:3306
filesocket
query cache
binary log
join / sort buffers
Can only work on an
entire table level &
uses LRU
MyISAM
Table 2
15. The bad parts - query cache
mysqld
Innodb
Table 1
tcp:3306
filesocket
query cache
binary log
join / sort buffers
All ‘update/insert/delete’
blocks all transactions
to ensure correct state.
It actually slows !
things down
MyISAM
Table 2
16. Inside mysqld
mysqld
storage engine(s)
MyISAM / InnoDB / Memory / etc
tcp:3306
filesocket
API
Where 10%* of !
the work is done
Where 90% !
of the work !
is done
*Finger in the air calculation
17. Summary
• Turn off query cache! It is hurting you!
• Binary log is a necessary evil for replication
• Dont play with the performance knobs (sort buffer /
join buffer / etc)
• Turning the 10% - Focus on the 90%
• Use InnoDB for all the tables (unless they’re system
tables)
!
!
• So…lets look at the 90%
!
!
22. Key parts of InnoDB
Table space
(whats on disk)
redo log
Innodb
bufferpool
memory!
ib_log1!
ib_log2!
sometable.ibd!
ib_data!
23. Key parts of InnoDB
Table space
redo log
bufferpool
• Each block is a page
• Just think of it as a row with some extra stuff like
version number
• InnoDB is ACID meaning each connection has to
have its own view of the world!
• Extra metadata at the top about where everything is
24. Key parts of InnoDB
Table space
redo log
bufferpool
• Black is the base metadata
26. What is redo log
Table space
redo log
bufferpool
• An append only log file of changes
27. What is table space
Table space
redo log
bufferpool
• The raw files - but it may not be always up-to-date
28. Lets run some queries
Table space
redo log
bufferpool
• First - lets fill up our database with data
29. Lets run some queries
Table space
redo log
bufferpool
• mysql> select * from red;
30. Lets run some queries
Table space
redo log
bufferpool
• mysql> select * from red;
mysqld parses the query and sends !
API calls to InnoDB
31. Lets run some queries
Table space
redo log
bufferpool
• mysql> select * from red;
Is red in bufferpool?
32. Lets run some queries
Table space
redo log
bufferpool
• mysql> select * from red;
Load red into buffer pool
perform random !
read disk activity!
At this point, the time to respond!
is dependent on disk speed!
33. Lets run some queries
Table space
redo log
bufferpool
• mysql> select * from red;
Respond to API calls to mysqld
34. Lets run some queries
Table space
redo log
bufferpool
• mysql> select * from red;
Parse results !
second pass sort if necessary !
return to client
35. Lets run some queries
Table space
redo log
bufferpool
• mysql> select * from red; #again
36. Lets run some queries
Table space
redo log
bufferpool
• mysql> select * from red;
mysqld parses the query and sends !
API calls to InnoDB
37. Lets run some queries
Table space
redo log
bufferpool
• mysql> select * from red;
Is red in bufferpool? - yes
38. Lets run some queries
Table space
redo log
bufferpool
• mysql> select * from red;
Respond to API calls to mysqld
39. Lets run some queries
Table space
redo log
bufferpool
• mysql> select * from red;
Parse results !
second pass sort if necessary !
return to client
40. Lets run some queries
Table space
redo log
bufferpool
• mysql> select * from brown;
What if bufferpool is full?
41. Lets run some queries
Table space
redo log
bufferpool
• mysql> select * from blue;
Assume metadata knows page requirements!
LRU on the bufferpool to find space and evict
42. Lets run some queries
Table space
redo log
bufferpool
• mysql> select * from blue;
!
Load in blue as before and return
43. Lets run some queries
Table space
redo log
bufferpool
• mysql> update blue set A=B where ID=1;
!
Is page in bufferpool? yes
44. Lets run some queries
Table space
redo log
bufferpool
• mysql> update blue set A=B where ID=1;
!
Update the page in bufferpool and increment !
page version number
45. Lets run some queries
Table space
redo log
bufferpool
• mysql> update blue set A=B where ID=1;
!
Write the new page to the redo log!
what tablespace is up to!
46. Lets run some queries
Table space
redo log
bufferpool
• mysql> update blue set A=B where ID=1;
!
Update metadata telling it that this is the !
new state of the page!
perform sequential !
write disk activity to redo log!
This is pretty fast!
what tablespace is up to!
47. Lets run some queries
Table space
redo log
bufferpool
• mysql> update blue set A=B where ID=1;
!
Send the OK back to mysqld!
what tablespace is up to!
48. Lets run some queries
Table space
redo log
bufferpool
• mysql> update blue set A=B where ID=1;
!
At sometime in the near future, do a semi sequential !
parse changes and update the tablespace
what tablespace is up to!
semi sequential write!
Not that bad !
!
49. Lets run some queries
Table space
redo log
bufferpool
• mysql> insert into yellow values
(1,2,3,4);
!
Is space in bufferpool?!
50. Lets run some queries
Table space
redo log
bufferpool
• mysql> insert into yellow values
(1,2,3,4);
!
Is adjacent pages in bufferpool?!
Random read !
(but not too big)
51. Lets run some queries
Table space
redo log
bufferpool
• mysql> insert into yellow values
(1,2,3,4);
!
Send OK back to client!
52. Key take aways
Table space
redo log
bufferpool
• Cold databases are slow!
• bufferpool is empty and everything requires random disk
reads
• The bigger the buffer pool you have, the quicker you will be!
(NUMBER 1 factor on performance!)!
• Redo log is the second slowest part
• we can tune this
innodb_flush_logs_at_trx_commit=1
innodb_buffer_pool_size= ~80% memory!
53. Schema changes
• Everyone hates them
• They are not transactional
• They are blocking (well most)
• How do they work?
!
59. mytbl
Schema changes
mysql> ALTER TABLE mytbl
ADD COLUMN age INT;
!
Wait for any open transactions to close and then !
lock access to the table!
block
64. Online schema changes
• Some changes can be done without ‘locking’
• Column additions
• Index additions
!
• Any removal cannot be done online
• Unless you do it yourself
!
67. mysqld
mytbl
Online schema changes 5.1/5.5
mytbl meta
client
mysql> ALTER… .mytbl meta
.mytbl
!
Creates another
table with the
updated
schema in the
client!
68. mysqld
mytbl
Online schema changes 5.1/5.5
mytbl meta
client
mysql> ALTER… .mytbl meta
.mytbl
!
Creates a set of
triggers on the
main table!
triggers
69. mysqld
mytbl
Online schema changes 5.1/5.5
mytbl meta
client
mysql> ALTER… .mytbl meta
.mytbl
!
selects the
entire table (in
batches) and
inserts into the
new table!
!
!
This can take a
long time!
triggers
70. mysqld
mytbl
Online schema changes 5.1/5.5
mytbl meta
client
mysql> ALTER… .mytbl meta
.mytbl
triggers
client
mysql> select
!
Whilst the new
table is being
built, selects
still go to the
old table!
71. mytbl
Online schema changes 5.1/5.5
mytbl meta
client
mysql> ALTER… .mytbl meta
.mytbl
triggers
client
mysql> UPDATE
!
Updates cause
the trigger to
fire which
updates the
new table being
built. (Inserts
the row if its
still hasn't been
copied)!
!
Deletes happen
the same way!
72. mytbl
Online schema changes 5.1/5.5
mytbl meta
client
mysql> ALTER… .mytbl meta
.mytbl
triggers
client
mysql> INSERT
!
Inserts also
happen the
same way
73. mytbl
Online schema changes 5.1/5.5
mytbl meta
client
mysql> ALTER… .mytbl meta
.mytbl
triggers
!
Eventually the
table
population
finishes and a
‘RENAME table’
action is
performed
(which is quick)
74. mytbl
Online schema changes 5.1/5.5
mytbl meta
client
mysql> ALTER… .mytbl meta
.mytbl
triggers
!
Eventually the
table
population
finishes. This is
the only
‘blocking’ time
block block
76. Online schema changes in 5.6
• All that ‘switch-a-roo’ logic is now within mysqld itself
!
77. Summary about schema changes
• You ‘double your IO’ when you’re online schema
changes!
• Binary log is outside of this - so watch out for your
slaves table locking if you don't use the right flags
!
!