This document provides an overview and agenda for a presentation on MySQL Proxy. MySQL Proxy is a transparent proxy server that allows intercepting and modifying MySQL traffic. It uses the Lua scripting language to intercept queries, inject new queries, and alter results. The presentation covers the basic principles of MySQL Proxy and Lua scripting, demonstrates how to use Lua scripts to debug queries and add new functionality like load balancing. It also provides resources for tutorials, example scripts, and testing MySQL Proxy.
Facebook uses caching at multiple levels to improve performance and scalability. Caching is implemented globally, with APC, Memcached, and browser caches. Memcached is used to cache user profiles, photos, friends lists, and other frequently accessed data. Caching is optimized through techniques like caching serialization formats, priming APC, and caching parsed user agent strings. Dirty caching ensures cached data is invalidated when the source data changes.
Memcached is a high-performance, distributed memory caching system that is used to speed up dynamic web applications by caching objects in memory to reduce database load. It works by storing objects in memory to allow for fast retrieval, improving response times significantly. Major companies that use memcached include Facebook, Yahoo, Amazon, and LiveJournal. It provides features like consistent hashing for object distribution, multithreading, and replication.
This document provides instructions for setting up a demonstration of the magic_model_generator gem. It mentions setting up the database.yml file and increasing the font size. It also provides commands for starting the postgres database, generating models from existing tables, and preparing the development environment for the demo.
4069180 Caching Performance Lessons From Facebookguoqing75
This document discusses techniques for improving caching performance at Facebook. It begins by explaining the benefits of caching for large sites and applications. It then describes the various caching layers Facebook uses, including globals caching, APC caching, memcached, and browser caching. It provides examples of how Facebook leverages these caches, such as caching parsed user agent strings, opcode caching with APC, and caching profile data in memcached. It also discusses challenges like cache invalidation between data centers and techniques for addressing them like caching proxies.
This document discusses embracing HTTP and changing approaches to web application development. It suggests flipping dependencies so that applications are built around HTTP rather than frameworks. It also recommends taking a more stateful approach by going CQRS/ES rather than relying on CRUD and resources. The document questions common patterns and promotes thinking beyond frameworks to more fundamental concepts.
RubyEnRails2007 - Dr Nic Williams - DIY SyntaxDr Nic Williams
The document discusses various ways to improve Ruby and ActiveRecord syntax through custom methods and techniques like method missing. It provides examples of mapping database queries to method calls for cleaner code, handling multi-database connections, and generating classes on demand through constant missing. The overall goal is to explore how Ruby syntax and patterns can be enhanced for more readable and intuitive code.
Given at zendcon 2007 unconference. My first "talk" ever given. Had a live demo. Note that although some of the information here is still pertinent, a lot is now outdated and most of the links no longer work. This is here for archival reasons
The document summarizes Travis Swicegood's presentation on building servers with Node.js. It discusses how Node.js is an evented I/O toolkit that allows building scalable servers using an event loop model. It provides examples of simple socket and HTTP servers in Node.js, and how storing state and handling asynchronous operations like database queries differs in an evented model.
Facebook uses caching at multiple levels to improve performance and scalability. Caching is implemented globally, with APC, Memcached, and browser caches. Memcached is used to cache user profiles, photos, friends lists, and other frequently accessed data. Caching is optimized through techniques like caching serialization formats, priming APC, and caching parsed user agent strings. Dirty caching ensures cached data is invalidated when the source data changes.
Memcached is a high-performance, distributed memory caching system that is used to speed up dynamic web applications by caching objects in memory to reduce database load. It works by storing objects in memory to allow for fast retrieval, improving response times significantly. Major companies that use memcached include Facebook, Yahoo, Amazon, and LiveJournal. It provides features like consistent hashing for object distribution, multithreading, and replication.
This document provides instructions for setting up a demonstration of the magic_model_generator gem. It mentions setting up the database.yml file and increasing the font size. It also provides commands for starting the postgres database, generating models from existing tables, and preparing the development environment for the demo.
4069180 Caching Performance Lessons From Facebookguoqing75
This document discusses techniques for improving caching performance at Facebook. It begins by explaining the benefits of caching for large sites and applications. It then describes the various caching layers Facebook uses, including globals caching, APC caching, memcached, and browser caching. It provides examples of how Facebook leverages these caches, such as caching parsed user agent strings, opcode caching with APC, and caching profile data in memcached. It also discusses challenges like cache invalidation between data centers and techniques for addressing them like caching proxies.
This document discusses embracing HTTP and changing approaches to web application development. It suggests flipping dependencies so that applications are built around HTTP rather than frameworks. It also recommends taking a more stateful approach by going CQRS/ES rather than relying on CRUD and resources. The document questions common patterns and promotes thinking beyond frameworks to more fundamental concepts.
RubyEnRails2007 - Dr Nic Williams - DIY SyntaxDr Nic Williams
The document discusses various ways to improve Ruby and ActiveRecord syntax through custom methods and techniques like method missing. It provides examples of mapping database queries to method calls for cleaner code, handling multi-database connections, and generating classes on demand through constant missing. The overall goal is to explore how Ruby syntax and patterns can be enhanced for more readable and intuitive code.
Given at zendcon 2007 unconference. My first "talk" ever given. Had a live demo. Note that although some of the information here is still pertinent, a lot is now outdated and most of the links no longer work. This is here for archival reasons
The document summarizes Travis Swicegood's presentation on building servers with Node.js. It discusses how Node.js is an evented I/O toolkit that allows building scalable servers using an event loop model. It provides examples of simple socket and HTTP servers in Node.js, and how storing state and handling asynchronous operations like database queries differs in an evented model.
Riak at The NYC Cloud Computing Meetup Groupsiculars
Riak is a distributed key-value store inspired by Dynamo. It is homogeneous, with a single key space and is distributed and replicated across nodes. Riak aims to provide predictable scalability and high availability while allowing for some flexibility in consistency versus availability tradeoffs. It uses a ring topology and vector clocks to manage data distribution and conflict resolution. Riak supports schemaless data storage and provides features like links for basic graph capabilities and map/reduce functions for querying data.
The document discusses best practices for securely implementing cryptography and discusses common cryptography algorithms and implementations such as hashing, symmetric encryption, asymmetric encryption, and password hashing. It emphasizes using proven implementations like those in Django and OpenSSL and enabling HTTPS to securely transmit data. The document also cautions that securely managing cryptographic keys is critical for encryption to provide security.
Toster - Understanding the Rails Web Model and Scalability OptionsFabio Akita
In my first time at Russia, I've presented about Reactor Pattern, Eventmachine, WebSocket and the Pusher service as options for when Rails alone is not enough
PuppetDB: Sneaking Clojure into Operationsgrim_radical
The document provides an overview of PuppetDB, which is a system for storing and querying data about infrastructure as code and system configurations. Some key points:
- PuppetDB stores immutable data about systems and allows querying of this data to enable higher-level infrastructure operations.
- It uses techniques like command query responsibility separation (CQRS) to separate write and read pipelines for better performance and reliability.
- The data is stored in a relational database for efficient querying, and queries are expressed in an abstract syntax tree (AST)-based language.
- The system is designed for speed, reliability, and ease of deployment in operations. It leverages techniques from Clojure and the JVM.
A million connections and beyond - Node.js at scaleTom Croucher
This document discusses benchmarks and performance testing of Node.js. It notes that while Node.js can handle over 1 million connections, benchmarks are not that important as other factors like productivity. It explores how to meaningfully measure Node.js performance, compares Node.js to other frameworks like Erlang and Tornado, and argues that benchmarks should reflect real-world use cases rather than simplistic "hello world" tests. The document questions overreliance on benchmarks and emphasizes picking the right tool based on the task.
"The little big project. From zero to hero in two weeks with 3 front-end engi...Fwdays
It is believed that the front end is only one part of the job. We need a backend to store data, we need some DevOps. Oh, I also forgot about QA. There are legends about titans from the past who could single-handedly draw a design and launch a website.
But here's the real story: we has the Great Idea, it won't work without a back-end, there are only front-end developers in the team, outsourcing is possible only in design, the deadline is too near. Just smile and wave... Or we will can realised the project uses front-end technologies only, cut comlicated things, dive into devops. Spoiler: we did it, the Bobuk-Bacek formula works, JavaScript is power.
You will find out how I Love Front-end was launched, what was cut off by Occam's razor and why everyone hates the Mona Lisa.
Audience and level.
Full-stack developers and front-end developers who want to learn how to make back-end for front-end. Just curious guys. Level from junior to middle.
This document discusses using PHP for both web and desktop applications. It introduces PHP-GTK, which allows PHP to create graphical desktop applications with a native look and feel across platforms. It provides examples of creating windows, containers, working with signals and the main loop. The document also discusses installing PHP-GTK, some key considerations for desktop applications, and examples of creating widgets like trees and working with models.
This document provides an introduction and overview of a Node.js tutorial presented by Tom Hughes-Croucher. The tutorial covers topics such as building scalable server-side code with JavaScript using Node.js, debugging Node.js applications, using frameworks like Express.js, and best practices for deploying Node.js applications in production environments. The tutorial includes exercises for hands-on learning and demonstrates tools and techniques like Socket.io, clustering, error handling and using Redis with Node.js applications.
PECL Picks - Extensions to make your life betterZendCon
This document provides information about various PHP extensions available through PECL (PHP Extension Community Library). It introduces the author and their background, describes what PECL is and provides a brief history. It then discusses the current status of PECL, future plans, and how individuals can get involved. Finally, it highlights and provides code examples for several popular and useful PECL extensions, including APC, Memcache, Imagick, HTTP, UploadProgress and others.
This document discusses the author's experience working at GameSpot during the annual E3 video game conference. Some key points:
- The author used to work as a PHP developer at GameSpot and helped build features like user profiles and videos.
- In 2006, the author convinced their boss to send them to the E3 conference to help with the large traffic from fans refreshing for updates.
- GameSpot had an exclusive booth between Nintendo and Sony to showcase new consoles like the Wii and PS3. They streamed press conferences which saw extremely high traffic.
- To handle the traffic, GameSpot used a large Memcached deployment with 70 application servers and 15 database servers to serve over 50 million
Video presentation: https://www.youtube.com/watch?v=jLAFXQ1Av50
Most applications written in Ruby are great, but also exists evil code applying WOP techniques. There are many workarounds in several programming languages, but in Ruby, when it happens, the proportion is bigger. It's very easy to write Ruby code with collateral damage.
You will see a collection of bad Ruby codes, with a description of how these codes affected negatively their applications and the solutions to fix and avoid them. Long classes, coupling, misapplication of OO, illegible code, tangled flows, naming issues and other things you can ever imagine are examples what you'll get.
The document introduces SD, a peer-to-peer bug tracking tool developed by Best Practical to allow tracking bugs offline and syncing work across devices. SD uses a decentralized model where each installation can pull changes from any other replica. It supports syncing with other bug trackers like RT, Trac and Google Code. The author argues that cloud services make users dependent while SD empowers fully offline and distributed work by syncing like users naturally share files.
Common Schema is a MySQL DBA toolkit that provides a self-contained database schema with tables, views, and stored routines. It allows users to monitor servers, analyze security and objects, and access documentation directly from SQL queries. The presentation introduces Common Schema's key capabilities and provides examples of monitoring status variables, accessing help documentation, and analyzing data size and object information.
This document discusses using ngx_lua in UPYUN 2. It provides an example of adding and calling a Lua module in Nginx configuration to add two numbers together. It then describes UPYUN's CDN and API architecture which is built on Nginx with ngx_lua. It outlines the large codebase of Lua modules used and shows the project structure including Makefile, dependencies, and Nginx configuration.
During our most recent workshops, we presented the most popular libraries of Node.js, and their installation on Docker. Thanks to our presentation, you’ll be able to program applications which use Node.js and ES6.
The document discusses the messy and buggy state of the DOM across browsers and strategies for writing cross-browser JavaScript code. It notes that nearly every DOM method has bugs or inconsistencies in some browsers. It then covers strategies like feature detection, graceful fallback for missing features, simulating features via workarounds, monitoring for regressions, and having a robust test suite to prevent regressions in one's own code. The overall message is that the DOM is messy and one needs to "know your enemies" by thoroughly testing code in all target browsers.
This talk represents the combined experience from several web development teams who have been using Symfony2 since months already to create high profile production applications. The aim is to give the audience real world advice on how to best leverage Symfony2, the current rough spots and how to work around them. Aside from covering how to implement functionality in Symfony2, this talk will also cover topics such as how to best integrate 3rd party bundles and where to find them as well as how to deploy the code and integrate into the entire server setup.
This document summarizes an article about Memcached and caching in Rails applications. It describes Memcached as an in-memory key-value store used to cache objects and speed up access. It recommends starting with caching simple objects and page fragments before caching entire pages. The document also demonstrates a sample Rails app that caches article listing data to avoid repeated database queries.
The document discusses high availability options for MySQL databases. It covers MySQL replication, where data is copied from a master to slave servers, allowing for read scaling and failover. MySQL Cluster is also discussed, which provides synchronous replication across nodes for high availability. Other topics include replication techniques, MySQL Cluster architecture and configuration, and additional high availability solutions for applications.
MySQL Proxy: Architecture and concepts of misuseweigon
MySQL Proxy is a MySQL toolbox started in 2007 that allows inspecting and modifying MySQL traffic. It uses a Lua scripting layer to implement plugins for logging, auditing, routing queries, and injecting queries. The core libraries provide functionality for the network protocol, command line interface, configuration files, logging, and plugin loading. It aims to be a "good man in the middle" for MySQL operations.
Riak at The NYC Cloud Computing Meetup Groupsiculars
Riak is a distributed key-value store inspired by Dynamo. It is homogeneous, with a single key space and is distributed and replicated across nodes. Riak aims to provide predictable scalability and high availability while allowing for some flexibility in consistency versus availability tradeoffs. It uses a ring topology and vector clocks to manage data distribution and conflict resolution. Riak supports schemaless data storage and provides features like links for basic graph capabilities and map/reduce functions for querying data.
The document discusses best practices for securely implementing cryptography and discusses common cryptography algorithms and implementations such as hashing, symmetric encryption, asymmetric encryption, and password hashing. It emphasizes using proven implementations like those in Django and OpenSSL and enabling HTTPS to securely transmit data. The document also cautions that securely managing cryptographic keys is critical for encryption to provide security.
Toster - Understanding the Rails Web Model and Scalability OptionsFabio Akita
In my first time at Russia, I've presented about Reactor Pattern, Eventmachine, WebSocket and the Pusher service as options for when Rails alone is not enough
PuppetDB: Sneaking Clojure into Operationsgrim_radical
The document provides an overview of PuppetDB, which is a system for storing and querying data about infrastructure as code and system configurations. Some key points:
- PuppetDB stores immutable data about systems and allows querying of this data to enable higher-level infrastructure operations.
- It uses techniques like command query responsibility separation (CQRS) to separate write and read pipelines for better performance and reliability.
- The data is stored in a relational database for efficient querying, and queries are expressed in an abstract syntax tree (AST)-based language.
- The system is designed for speed, reliability, and ease of deployment in operations. It leverages techniques from Clojure and the JVM.
A million connections and beyond - Node.js at scaleTom Croucher
This document discusses benchmarks and performance testing of Node.js. It notes that while Node.js can handle over 1 million connections, benchmarks are not that important as other factors like productivity. It explores how to meaningfully measure Node.js performance, compares Node.js to other frameworks like Erlang and Tornado, and argues that benchmarks should reflect real-world use cases rather than simplistic "hello world" tests. The document questions overreliance on benchmarks and emphasizes picking the right tool based on the task.
"The little big project. From zero to hero in two weeks with 3 front-end engi...Fwdays
It is believed that the front end is only one part of the job. We need a backend to store data, we need some DevOps. Oh, I also forgot about QA. There are legends about titans from the past who could single-handedly draw a design and launch a website.
But here's the real story: we has the Great Idea, it won't work without a back-end, there are only front-end developers in the team, outsourcing is possible only in design, the deadline is too near. Just smile and wave... Or we will can realised the project uses front-end technologies only, cut comlicated things, dive into devops. Spoiler: we did it, the Bobuk-Bacek formula works, JavaScript is power.
You will find out how I Love Front-end was launched, what was cut off by Occam's razor and why everyone hates the Mona Lisa.
Audience and level.
Full-stack developers and front-end developers who want to learn how to make back-end for front-end. Just curious guys. Level from junior to middle.
This document discusses using PHP for both web and desktop applications. It introduces PHP-GTK, which allows PHP to create graphical desktop applications with a native look and feel across platforms. It provides examples of creating windows, containers, working with signals and the main loop. The document also discusses installing PHP-GTK, some key considerations for desktop applications, and examples of creating widgets like trees and working with models.
This document provides an introduction and overview of a Node.js tutorial presented by Tom Hughes-Croucher. The tutorial covers topics such as building scalable server-side code with JavaScript using Node.js, debugging Node.js applications, using frameworks like Express.js, and best practices for deploying Node.js applications in production environments. The tutorial includes exercises for hands-on learning and demonstrates tools and techniques like Socket.io, clustering, error handling and using Redis with Node.js applications.
PECL Picks - Extensions to make your life betterZendCon
This document provides information about various PHP extensions available through PECL (PHP Extension Community Library). It introduces the author and their background, describes what PECL is and provides a brief history. It then discusses the current status of PECL, future plans, and how individuals can get involved. Finally, it highlights and provides code examples for several popular and useful PECL extensions, including APC, Memcache, Imagick, HTTP, UploadProgress and others.
This document discusses the author's experience working at GameSpot during the annual E3 video game conference. Some key points:
- The author used to work as a PHP developer at GameSpot and helped build features like user profiles and videos.
- In 2006, the author convinced their boss to send them to the E3 conference to help with the large traffic from fans refreshing for updates.
- GameSpot had an exclusive booth between Nintendo and Sony to showcase new consoles like the Wii and PS3. They streamed press conferences which saw extremely high traffic.
- To handle the traffic, GameSpot used a large Memcached deployment with 70 application servers and 15 database servers to serve over 50 million
Video presentation: https://www.youtube.com/watch?v=jLAFXQ1Av50
Most applications written in Ruby are great, but also exists evil code applying WOP techniques. There are many workarounds in several programming languages, but in Ruby, when it happens, the proportion is bigger. It's very easy to write Ruby code with collateral damage.
You will see a collection of bad Ruby codes, with a description of how these codes affected negatively their applications and the solutions to fix and avoid them. Long classes, coupling, misapplication of OO, illegible code, tangled flows, naming issues and other things you can ever imagine are examples what you'll get.
The document introduces SD, a peer-to-peer bug tracking tool developed by Best Practical to allow tracking bugs offline and syncing work across devices. SD uses a decentralized model where each installation can pull changes from any other replica. It supports syncing with other bug trackers like RT, Trac and Google Code. The author argues that cloud services make users dependent while SD empowers fully offline and distributed work by syncing like users naturally share files.
Common Schema is a MySQL DBA toolkit that provides a self-contained database schema with tables, views, and stored routines. It allows users to monitor servers, analyze security and objects, and access documentation directly from SQL queries. The presentation introduces Common Schema's key capabilities and provides examples of monitoring status variables, accessing help documentation, and analyzing data size and object information.
This document discusses using ngx_lua in UPYUN 2. It provides an example of adding and calling a Lua module in Nginx configuration to add two numbers together. It then describes UPYUN's CDN and API architecture which is built on Nginx with ngx_lua. It outlines the large codebase of Lua modules used and shows the project structure including Makefile, dependencies, and Nginx configuration.
During our most recent workshops, we presented the most popular libraries of Node.js, and their installation on Docker. Thanks to our presentation, you’ll be able to program applications which use Node.js and ES6.
The document discusses the messy and buggy state of the DOM across browsers and strategies for writing cross-browser JavaScript code. It notes that nearly every DOM method has bugs or inconsistencies in some browsers. It then covers strategies like feature detection, graceful fallback for missing features, simulating features via workarounds, monitoring for regressions, and having a robust test suite to prevent regressions in one's own code. The overall message is that the DOM is messy and one needs to "know your enemies" by thoroughly testing code in all target browsers.
This talk represents the combined experience from several web development teams who have been using Symfony2 since months already to create high profile production applications. The aim is to give the audience real world advice on how to best leverage Symfony2, the current rough spots and how to work around them. Aside from covering how to implement functionality in Symfony2, this talk will also cover topics such as how to best integrate 3rd party bundles and where to find them as well as how to deploy the code and integrate into the entire server setup.
This document summarizes an article about Memcached and caching in Rails applications. It describes Memcached as an in-memory key-value store used to cache objects and speed up access. It recommends starting with caching simple objects and page fragments before caching entire pages. The document also demonstrates a sample Rails app that caches article listing data to avoid repeated database queries.
The document discusses high availability options for MySQL databases. It covers MySQL replication, where data is copied from a master to slave servers, allowing for read scaling and failover. MySQL Cluster is also discussed, which provides synchronous replication across nodes for high availability. Other topics include replication techniques, MySQL Cluster architecture and configuration, and additional high availability solutions for applications.
MySQL Proxy: Architecture and concepts of misuseweigon
MySQL Proxy is a MySQL toolbox started in 2007 that allows inspecting and modifying MySQL traffic. It uses a Lua scripting layer to implement plugins for logging, auditing, routing queries, and injecting queries. The core libraries provide functionality for the network protocol, command line interface, configuration files, logging, and plugin loading. It aims to be a "good man in the middle" for MySQL operations.
MySQL Fabric: High Availability using Python/ConnectorVishal Yadav
This document discusses MySQL Fabric, which provides high availability and scaling capabilities for MySQL databases. It introduces MySQL Fabric as an extensible framework for managing farms of MySQL servers that provides high availability through availability groups and scaling out through sharding. It then covers installing and setting up MySQL Fabric, including configuring availability groups for high availability.
This document discusses various MySQL high availability solutions and best practices. It begins with an introduction to the presenter and their background and experience. Then it discusses the problems of redundancy, scaling, and high availability that these solutions aim to address. Several specific solutions are covered in detail, including Galera Cluster, master-slave replication, MySQL Cluster, Group Replication, MaxScale, MySQL Router, and MySQL InnoDB Cluster. Key features of each are summarized. The document concludes with an invitation for questions.
DIY: A distributed database cluster, or: MySQL ClusterUlf Wendel
Live from the International PHP Conference 2013: MySQL Cluster is a distributed, auto-sharding database offering 99,999% high availability. It runs on Rasperry PI as well as on a cluster of multi-core machines. A 30 node cluster was able to deliver 4.3 billion (not million) read transactions per second in 2012. Take a deeper look into the theory behind all the MySQL replication/clustering solutions (including 3rd party) and learn how they differ.
ScaleBase Webinar: Scaling MySQL - Sharding Made Easy!ScaleBase
Home-grown sharding is hard - REALLY HARD! ScaleBase scales-out MySQL, delivering all the benefits of MySQL sharding, with NONE of the sharding headaches. This webinar explains: MySQL scale-out without embedding code and re-writing apps, Successful sharding on Amazon and private clouds, Single vs. multiple shards per server, Eliminating data silos, Creating a redundant, fault tolerant architecture with no single-point-of-failure, Re-balancing and splitting shards
C++ is an object-oriented programming language created by Bjarne Stroustrup in 1985 that maintains aspects of C while adding object-oriented features like classes. C++ can be used to create small programs or large applications across many domains. Key concepts covered include functions, classes, inheritance, polymorphism, and memory management techniques like realloc() and free().
MySQL Proxy. A powerful, flexible MySQL toolbox.Miguel Araújo
MySQL-Proxy is a software application that, as the name suggests, sits between your client and MySQL server(s) allowing you to monitor, analyse or transform that communication. It communicates over the network using the MySQL network protocol and as so, in its the most basic configuration, Proxy simply interposes itself between the server and clients, passing queries from the client to the server and its responses on the other way around. This opens the possibility of changing the communication packets when needed, allowing thus being used for multiple purposes being the most remarkable query analysis, query filtering and modification, load balancing, failover, query injection and pooling.
On this session I'll present and give you a global overview of MySQL-Proxy and the concepts behind it. Use-cases, technical overview and architecture will follow. And of course, everyone will want to see it working so that'll be included as well in parallel with detailed explanation on how you can use it to fulfill your needs.
This document provides an overview of high availability solutions for MySQL databases. It discusses the causes and impacts of downtime, and how to select the right HA solution based on requirements. It then provides a tour of MySQL's HA solutions, including replication, clustering, and MySQL Cluster. Operational best practices for HA are also covered.
C++ Object oriented concepts & programmingnirajmandaliya
This document discusses various C++ concepts related to functions and operators. It defines what a default pointer is and how it receives addresses passed to a called function. It also discusses reference variables, inline functions, friend functions, default arguments, passing objects as parameters, function overloading, static members, function pointers, and operator overloading. It provides examples and explanations for each concept.
A tutorial on MySQL High Availability on the Pacemaker stack. Covers both MySQL on DRBD, and MySQL with MySQL replication.
Presented by Florian Haas and Yves Trudeau at the Percona Live MySQL Conference & Expo, 2012
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.
MySQL 5.6 Global Transaction IDs - Use case: (session) consistencyUlf Wendel
PECL/mysqlnd_ms is a transparent load balancer for PHP and MySQL. It can be used with any kind of MySQL Cluster. If used with MySQL Replication it has some tricks to offer to break out of the default eventual consistency of the lazy primary copy design of MySQL Replication. It is using global transaction ids to lower read load on the master while still offering session consistency. Users of MySQL 5.6 can use the server built-in global transaction id feature, everybody else can use the driver built-in emulation that works with previous MySQL versions as well. Of course, its a mysqlnd plugin and as such it works with all PHP MySQL APIs (mysql, mysqli, PDO_MySQL). Happy hacking!
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.
MySQL Fabric is an open-source framework for the management of farms of servers. It is designed to be easy to use and available for both small and large server farms.
In order to create a solution that is truly resilient to failures, it is necessary to ensure redundancy of every component in the system and have a solid foundation for detecting and handling failures.
In this session, you will learn how to build a robust
high-availability solution using MySQL Fabric, what components you need and how they should be set up. You will learn how MySQL Fabric handles high-availability of the application servers and how to ensure high-availability of the Fabric system as a whole. You will also learn how to leverage, for example, OpenStack to ensure that the system keeps operating in the presence of failures.
MySQL Replication: What’s New in MySQL 5.7 and BeyondAndrew Morgan
Continuing in the footsteps of its predecessor, MySQL 5.7 is set to be a groundbreaking release. In this webinar, the engineers behind the product provide insights into what’s new for MySQL replication in the latest 5.7 Development Milestone Release and review the early access features available via labs.mysql.com. The next generation of replication features cover several technical areas such as better semi-synchronous replication, an enhanced multithreaded slave (per-transaction parallelism), improved monitoring with performance schema tables, online configuration changes, options for fine-tuning replication performance, support for more-advanced topologies with multisource replication, and much more. This is also a great chance to learn about MySQL Group Replication – the next generation of active-active, update-anywhere replication for MySQL.
ProxySQL - High Performance and HA Proxy for MySQLRené Cannaò
High Availability proxy designed to solve real issues of MySQL setups from small to very large production environments.
Presentation at Percona Live Amsterdam 2015
Using MySQL Fabric for High Availability and Scaling OutOSSCube
MySQL Fabric is an extensible framework for managing farms of MySQL Servers. In this webinar, you will learn what MySQL Fabric is, what it can achieve and how it is used by database administrators and developers. Plus, you will learn how MySQL Fabric can help for sharding and high-availability. See more @ http://www.osscube.com/
This document discusses object-oriented programming (OOP). It begins by explaining the software crisis and issues like productivity, quality and managing schedules that OOP aims to address. It then covers procedural programming and its limitations. The key concepts of OOP like objects, classes, encapsulation, inheritance and polymorphism are explained. Popular OOP languages support these concepts to different degrees. Finally, the benefits of OOP like code reuse, modularity and managing complexity are highlighted.
This document discusses scaling PostgreSQL databases using open-source tools from Skype including pgBouncer, PGQ, Londiste, and PL/Proxy. It describes how these tools can be used to improve concurrency, add read replicas, replicate data changes, and shard queries across multiple databases. Configuration files and SQL functions are shown as examples of setting up and using these tools to horizontally scale a PostgreSQL deployment.
This document provides an introduction to JRuby, which allows Ruby code to run on the Java Virtual Machine. It discusses key features of Ruby like dynamic typing and everything being an object. It then covers how to integrate Ruby and Java code through the Java integration layer, including calling Java from Ruby and converting interfaces. The document concludes by discussing using JRuby for applications, testing Java with RSpec, and build utilities.
Troubleshooting tips from docker support engineersDocker, Inc.
Docker makes everything easier. But even with the easiest platforms, sometimes you run into problems. In this session, you'll learn first-hand from someone whose job is helping customers fix these problems. In this session, you'll learn how to:
Ask better questions & identify the real problems you want to solve
Use command line tools to inspect internal Swarm and Kubernetes components
Debug and troubleshoot interactions between Enterprise Edition components
Troubleshoot Docker Enterprise Edition Windows nodes
Apply these skills to troubleshooting Docker Enterprise Edition
This document provides an overview of JRuby, which is a Ruby implementation that runs on the Java Virtual Machine (JVM). It discusses key aspects of JRuby like its compatibility with Ruby, access to Java libraries, integration with Java code, and usage in applications like Rails. Specific topics covered include JRuby fundamentals, dynamic typing, classes and modules, mixins, Java integration features, testing Java code from Ruby, and calling Ruby from Java using JSR-223.
MySQL Proxy is a tool that sits in front of MySQL servers to provide more flexibility. It can transform, handle, or block requests and supports load balancing, failover, and using Lua scripts to customize behavior. MySQL Proxy aims to be transparent to applications and handles thousands of parallel connections.
Galera Multi Master Synchronous My S Q L Replication ClustersPerconaPerformance
Galera Replication provides multi-master synchronous replication for MySQL databases using a certification-based replication model. It avoids middleware and connects databases directly for transparency. Benchmarking shows it provides good scalability even under write-intensive workloads. Features include high availability, transparency, and the ability to retry aborted transactions.
Those days, when it seemed, that web applications have overthrown standard “cumbersome” client apps, we’ll speak about present and future of consumer oriented desktop applications. This includes, but not restricted to patterns of LOB applications development with WPF, right multimedia support of DirectX bridge and new features, waiting for you in Windows 7. Also we’ll speak about subject oriented programming, will be introduced in NET. 4.0 and how to leverage it even today with the current version of Microsoft framework. tits will be shown during the session, thus restricted to mature audiences
This document discusses wxPerl, which provides bindings for the wxWidgets GUI toolkit to allow building graphical user interfaces in Perl that are cross-platform. It covers why desktop apps are still useful, why Perl is a good choice, an overview of the wxPerl distribution and architecture, techniques for cross-platform development such as version control and automation, challenges of installation on different platforms, ideas for "Perlinizing" or improving the wxPerl modules, testing approaches, and packaging/deployment strategies.
The document discusses PHP and Oracle best practices and roadmaps. It covers Oracle's long-term commitment to PHP, popular PHP extensions for Oracle like OCI8 and PDO_OCI, and best practices for performance and scalability including connection management, statement caching, and transaction handling. It also previews upcoming PHP features in Oracle Database 11g and provides resources for PHP developers.
PHP classes in mumbai, Introduction to PHP/MYSQL..
best PHP/MYSQL classes in mumbai with job assistance.
our features are:
expert guidance by IT industry professionals
lowest fees of 5000
practical exposure to handle projects
well equiped lab
after course resume writing guidance
For more Visit: http://vibranttechnologies.co.in/php-classes-in-mumbai.html or http://phptraining.vibranttechnologies.co.in
SqueakDBX is an open-source solution for providing relational database access from Smalltalk. It aims to allow direct SQL queries to any database using a common API, avoiding the limitations of existing Smalltalk database drivers. SqueakDBX uses an asynchronous C connector called OpenDBX to provide fast and flexible access to multiple databases without locking the Smalltalk virtual machine. The project seeks to fully integrate SqueakDBX with the GLORP object-relational mapping library to improve database usage in Smalltalk.
Chris Anderson is a CouchDB committer who helped start the project in 2005. CouchDB uses JSON documents with a flexible schema and provides an HTTP API for CRUD operations. It features an ACID storage engine, replication for high availability, and map-reduce views. Applications are built with CouchApps, which render JSON data as HTML and allow embedding logic via JavaScript. The future of CouchDB may include key-centric identity and peer-to-peer topologies to improve trust and performance.
The document discusses building an app with jQuery and Jaxer, which allows running JavaScript code on both the client-side and server-side. Jaxer provides a server-side JavaScript environment and framework that enables mashups and improving perceived performance by running some code on the server. Functions can be proxied to run on the client or server. The document includes examples of setting up a database and registering a user using Jaxer and JavaScript functions running on both the client and server.
Through the magic of virtualization technology (Vagrant) and Puppet, a companion Enterprise grade provisioning technology, we explore how to make the complex configuration game a walk in the park. Bring new team members up to speed in minutes, eliminate variances in configurations, and make integration issues a thing of the past.
Welcome to the new age of team development!
The document discusses the history of build tools and outlines a roadmap for sbt 1.0 focused on stability and modularization. It introduces sbt-server as a way to centralize build tasks and allow multiple clients to interact with the build. Key points of the sbt-server design include running tasks in a centralized queue, handling reconnects, using a versioned protocol for communication, and supporting background jobs and input. The document also discusses bringing existing sbt plugins onto sbt-server without breaking functionality.
PHP / MySQL applications are compatible to all operating systems, support all the popular databases, 100% remotely configurable, perfect for web programming & provide higher performance and speed.
PHP is an HTML-embedded scripting language. Much of its syntax is borrowed from C, Java and Perl with a couple of unique PHP-specific features thrown in. The goal of the language is to allow web developers to write dynamically generated pages quickly.
MySQL is a Relational Database Management System (RDBMS) that uses Structured Query Language (SQL).
PHP is the most popular scripting language for web development. It is free, open source and server-side (the code is executed on the server).
PHP third party tool and plug-in integration such as chat, forum, blog and search engine
The document discusses how Terracotta can be used to create lightweight grids for enterprise applications to improve availability and scalability. It provides an overview of challenges like single points of failure and bottlenecks. Terracotta allows clustering of Java applications across multiple JVMs in a transparent way and reduces the complexity of distributed computing. A simple example demonstrates how Terracotta can be used to distribute a queue across multiple nodes.
Try to imagine the amount of time and effort it would take you to write a bug-free script or application that will accept a URL, port scan it, and for each HTTP service that it finds, it will create a new thread and perform a black box penetration testing while impersonating a Blackberry 9900 smartphone. While you’re thinking, Here’s how you would have done it in Hackersh:
“http://localhost” \
-> url \
-> nmap \
-> browse(ua=”Mozilla/5.0 (BlackBerry; U; BlackBerry 9900; en) AppleWebKit/534.11+ (KHTML, like Gecko) Version/7.1.0.346 Mobile Safari/534.11+”) \
-> w3af
Meet Hackersh (“Hacker Shell”) – A new, free and open source cross-platform shell (command interpreter) with built-in security commands and Pythonect-like syntax.
Aside from being interactive, Hackersh is also scriptable with Pythonect. Pythonect is a new, free, and open source general-purpose dataflow programming language based on Python, written in Python. Hackersh is inspired by Unix pipeline, but takes it a step forward by including built-in features like remote invocation and threads. This 120 minute lab session will introduce Hackersh, the automation gap it fills, and its features. Lots of demonstrations and scripts are included to showcase concepts and ideas.
Ansible is a Configuration Management System that is very simple to use, because of its straightforward and robust model for managing automation and it’s low barrier to entry for ease of use in both development and production.
During OpenStack development, Ansible can be used in conjunction with Vagrant and Devstack to manage complex, multi-node development environments with relative ease.
In this presentation, Juergen Brendel and David Lapsley review Ansible and provide some sample playbooks to get developers up and running quickly. They also describes how to use Ansible, Vagrant, Devstack, and OpenStack to accelerate OpenStack development cycles.
MySQL NDB 8.0 clusters in your laptop with dbdeployerGiuseppe Maxia
- dbdeployer is a command line tool that allows users to quickly deploy and manage MySQL and MySQL Cluster (NDB) databases across multiple nodes.
- It can install single MySQL sandboxes, master-slave replication clusters, and MySQL Cluster configurations with 3 or more nodes.
- When deploying a MySQL Cluster, dbdeployer automatically generates configuration files, starts the NDB management and data nodes, and then starts the MySQL nodes to connect to the cluster. This simplifies setting up test and development environments for MySQL Cluster.
The document discusses dbdeployer, a command line tool for deploying and testing MySQL database topologies. It can deploy single or multiple MySQL instances, as well as complex topologies like replication, group replication, and multi-source replication with a single command. Dbdeployer aims to make deploying and testing databases fast and easy by avoiding repetitive manual tasks. It has features for upgrading and importing existing databases.
Giuseppe Maxia presents dbdeployer, a command line tool for deploying MySQL sandboxes. Dbdeployer allows for easy installation of single server, replication, and cluster topologies of various MySQL technologies. It supports versions from MySQL 5.0 to 8.0. Dbdeployer installations are isolated, have no dependencies, and allow customization. The tool handles tasks like listing install options, deploying sandboxes, managing operations, and removing installations.
Test complex database systems in your laptop with dbdeployerGiuseppe Maxia
Giuseppe Maxia is a software explorer at VMware who has created several tools for MySQL over the decades, including MySQL-Sandbox. He rewrote MySQL-Sandbox in Go to create a new tool called dbdeployer. Dbdeployer allows users to easily install, configure, and manage isolated MySQL sandboxes on their local machine without dependencies. It provides functionality for single server, replication, and group replication deployments through an intuitive command line interface. The tool handles tasks like port allocation and initialization automatically to simplify the sandbox development workflow.
Este documento presenta dbdeployer, una herramienta desarrollada en Go por Giuseppe Maxia para instalar y administrar sandboxes de MySQL de manera sencilla. Dbdeployer mejora sobre la herramienta anterior MySQL-Sandbox de Maxia al eliminar dependencias y hacer más fácil la instalación. Dbdeployer permite instalar sandboxes individuales, múltiples o con replicación de varias topologías de manera automática. La herramienta es de código abierto y el autor invita contribuciones para seguir mejorándola.
This document introduces dbdeployer, a tool written in Go that allows users to easily deploy and manage MySQL sandboxes. It summarizes the key features and capabilities of dbdeployer, including installing single or replicated sandboxes, customizing configurations, finding free ports, and exposing various MySQL 8 data dictionary tables. The document provides instructions on downloading, unpacking, and using dbdeployer to deploy different types of MySQL configurations for testing or development purposes.
This document provides an overview of roles in MySQL 8.0, including:
- Roles were introduced in MySQL 8.0 to simplify user administration and centralize privilege handling. Roles are created and granted like users but do not require login credentials.
- The key aspects of using roles are: creating roles, granting privileges to roles, creating users, granting roles to users, and setting the default role for users.
- Roles simplify administration but also introduce some complexity, such as roles being stored as users without logins and the need to set a default role for a user's privileges to take effect. The document provides examples and best practices for working with roles.
This document discusses using MySQL as a document store by introducing the MySQL X-Protocol and associated tools. Key points include:
- The MySQL X-Plugin and MySQL Shell allow MySQL to function as a document store, uniting SQL and NoSQL approaches.
- The X-Protocol extends the traditional client/server protocol to enable asynchronous communication and a universal API for different languages.
- While the document store feature is available in MySQL 5.7.12+, the associated tools are still in early development stages and not production ready.
- Examples demonstrate using the MySQL Shell to work with document collections, perform CRUD operations, and convert data between MySQL, MongoDB, and JSON formats in a schema-less manner
MySQL and MariaDB implementations of multi-source replication allow a slave server to replicate from multiple master servers simultaneously. MySQL 5.7 introduced multi-source replication using new CHANNEL syntax for CHANGE MASTER, SHOW SLAVE STATUS, and START/STOP SLAVE commands. MariaDB 10 implemented it similarly with new CHANNEL syntax. Both require global transaction identifiers and crash-safe tables to be enabled. Monitoring information is now split into separate records for each master in SHOW SLAVE STATUS.
Synchronise your data between MySQL and MongoDBGiuseppe Maxia
The document discusses synchronizing data between MySQL and MongoDB using Tungsten Replicator. Tungsten Replicator allows data to be replicated from a MySQL database to MongoDB in near real-time. The document provides examples of data being inserted and updated in MySQL, and then appearing in MongoDB through the replication process. It also discusses security features and how to install Tungsten Replicator for basic master-slave replication between MySQL and MongoDB databases.
This document discusses MySQL Sandbox, a tool for quickly installing and testing multiple MySQL database servers on a single machine. The tool allows users to install MySQL servers from binaries in seconds, set up replication topologies easily, and customize server configurations. MySQL Sandbox provides an easy way to test MySQL features without having to manually configure each database instance.
This document provides tips and examples for creating shell scripts to automate database administration tasks. It recommends using shell scripts because shell is available everywhere and shell scripting is powerful and fast to write. It then provides several tips for writing robust shell scripts, such as using configuration files, running commands in parallel, and creating shortcuts. The document includes examples of scripts for installing MySQL replication across multiple servers and testing that replication is working.
The document discusses Tungsten Replicator, an open source replication engine. It provides an overview of Tungsten Replicator's capabilities including supporting multiple masters and heterogeneous replication topologies. It then discusses requirements for installation and demonstrates installing Tungsten Replicator in a master-slave configuration across four virtual machines using the Tungsten cookbook installation scripts.
Preventing multi master conflicts with tungstenGiuseppe Maxia
The document discusses multi-master replication using Continuent Tungsten and how it prevents data conflicts. It describes how Tungsten allows defining rules to specify which database can be updated by each master node. Tungsten then enforces these rules on slave nodes to prevent "unknown" or "unwanted" shards from being updated, which could lead to data duplication, inconsistency, loss or break replication. Examples are provided showing how conflict prevention works in different replication topologies.
MySQL high availability power and usabilityGiuseppe Maxia
Giuseppe Maxia presents on MySQL high availability using Continuent Tungsten. He discusses how Tungsten provides transparency and ease of use for database users by enabling features like easy and automated failover between database servers. It allows applications to continue working without changes even during a failover. Tungsten also makes it easy to manage high availability across multiple database sites. The presentation covers how Tungsten installations work and demonstrates high availability configurations for both single and multiple sites.
Solving MySQL replication problems with TungstenGiuseppe Maxia
This document provides an overview and introduction to using Tungsten Replicator to solve replication problems. It discusses Tungsten Replicator concepts and components, how to plan, install, and configure Tungsten Replicator in different topologies such as master-slave, all-masters, and fan-in. It also covers common administration tasks like monitoring replication, managing the replication process, and using tools like trepctl and thl.
State of the art of MySQL replication and clusteringGiuseppe Maxia
This document discusses high availability and replication solutions for MySQL databases. It introduces Continuent, a provider of clustering and replication software for MySQL. Continuent's product, Tungsten, provides commercial-grade high availability, performance scaling, and data management for MySQL. Tungsten Replicator allows for flexible, high-performance data replication. The document then discusses various Continuent solutions that can enable future-proofed high availability and replication architectures for MySQL databases.
This document discusses using MySQL Sandbox, a tool that allows quickly installing and configuring multiple MySQL database servers for testing purposes using a simple command line interface. Key points:
- MySQL Sandbox can install MySQL servers in seconds using a single command, much faster than manual installation.
- It supports configurations like replication between multiple servers for testing replication scenarios.
- Pre-packaged scripts are provided to easily start, stop, and manage sandboxes. Custom scripts can also be created to automate testing workflows.
- Various options allow customizing server configurations like ports, data directories, and replication topologies in a reproducible manner.
The document discusses new features in MySQL replication in versions 5.5 and 5.6, including:
1) Semi-synchronous replication which helps ensure that data is replicated to at least one slave;
2) Delayed replication which allows transactions to be delayed on the slave for a specified time period; and
3) Features in 5.6 such as server UUID, crash-safe slave using replication tables, multi-threaded slave, and global transaction identifiers.
5th LF Energy Power Grid Model Meet-up SlidesDanBrown980551
5th Power Grid Model Meet-up
It is with great pleasure that we extend to you an invitation to the 5th Power Grid Model Meet-up, scheduled for 6th June 2024. This event will adopt a hybrid format, allowing participants to join us either through an online Mircosoft Teams session or in person at TU/e located at Den Dolech 2, Eindhoven, Netherlands. The meet-up will be hosted by Eindhoven University of Technology (TU/e), a research university specializing in engineering science & technology.
Power Grid Model
The global energy transition is placing new and unprecedented demands on Distribution System Operators (DSOs). Alongside upgrades to grid capacity, processes such as digitization, capacity optimization, and congestion management are becoming vital for delivering reliable services.
Power Grid Model is an open source project from Linux Foundation Energy and provides a calculation engine that is increasingly essential for DSOs. It offers a standards-based foundation enabling real-time power systems analysis, simulations of electrical power grids, and sophisticated what-if analysis. In addition, it enables in-depth studies and analysis of the electrical power grid’s behavior and performance. This comprehensive model incorporates essential factors such as power generation capacity, electrical losses, voltage levels, power flows, and system stability.
Power Grid Model is currently being applied in a wide variety of use cases, including grid planning, expansion, reliability, and congestion studies. It can also help in analyzing the impact of renewable energy integration, assessing the effects of disturbances or faults, and developing strategies for grid control and optimization.
What to expect
For the upcoming meetup we are organizing, we have an exciting lineup of activities planned:
-Insightful presentations covering two practical applications of the Power Grid Model.
-An update on the latest advancements in Power Grid -Model technology during the first and second quarters of 2024.
-An interactive brainstorming session to discuss and propose new feature requests.
-An opportunity to connect with fellow Power Grid Model enthusiasts and users.
Introduction of Cybersecurity with OSS at Code Europe 2024Hiroshi SHIBATA
I develop the Ruby programming language, RubyGems, and Bundler, which are package managers for Ruby. Today, I will introduce how to enhance the security of your application using open-source software (OSS) examples from Ruby and RubyGems.
The first topic is CVE (Common Vulnerabilities and Exposures). I have published CVEs many times. But what exactly is a CVE? I'll provide a basic understanding of CVEs and explain how to detect and handle vulnerabilities in OSS.
Next, let's discuss package managers. Package managers play a critical role in the OSS ecosystem. I'll explain how to manage library dependencies in your application.
I'll share insights into how the Ruby and RubyGems core team works to keep our ecosystem safe. By the end of this talk, you'll have a better understanding of how to safeguard your code.
For the full video of this presentation, please visit: https://www.edge-ai-vision.com/2024/06/building-and-scaling-ai-applications-with-the-nx-ai-manager-a-presentation-from-network-optix/
Robin van Emden, Senior Director of Data Science at Network Optix, presents the “Building and Scaling AI Applications with the Nx AI Manager,” tutorial at the May 2024 Embedded Vision Summit.
In this presentation, van Emden covers the basics of scaling edge AI solutions using the Nx tool kit. He emphasizes the process of developing AI models and deploying them globally. He also showcases the conversion of AI models and the creation of effective edge AI pipelines, with a focus on pre-processing, model conversion, selecting the appropriate inference engine for the target hardware and post-processing.
van Emden shows how Nx can simplify the developer’s life and facilitate a rapid transition from concept to production-ready applications.He provides valuable insights into developing scalable and efficient edge AI solutions, with a strong focus on practical implementation.
Your One-Stop Shop for Python Success: Top 10 US Python Development Providersakankshawande
Simplify your search for a reliable Python development partner! This list presents the top 10 trusted US providers offering comprehensive Python development services, ensuring your project's success from conception to completion.
Driving Business Innovation: Latest Generative AI Advancements & Success StorySafe Software
Are you ready to revolutionize how you handle data? Join us for a webinar where we’ll bring you up to speed with the latest advancements in Generative AI technology and discover how leveraging FME with tools from giants like Google Gemini, Amazon, and Microsoft OpenAI can supercharge your workflow efficiency.
During the hour, we’ll take you through:
Guest Speaker Segment with Hannah Barrington: Dive into the world of dynamic real estate marketing with Hannah, the Marketing Manager at Workspace Group. Hear firsthand how their team generates engaging descriptions for thousands of office units by integrating diverse data sources—from PDF floorplans to web pages—using FME transformers, like OpenAIVisionConnector and AnthropicVisionConnector. This use case will show you how GenAI can streamline content creation for marketing across the board.
Ollama Use Case: Learn how Scenario Specialist Dmitri Bagh has utilized Ollama within FME to input data, create custom models, and enhance security protocols. This segment will include demos to illustrate the full capabilities of FME in AI-driven processes.
Custom AI Models: Discover how to leverage FME to build personalized AI models using your data. Whether it’s populating a model with local data for added security or integrating public AI tools, find out how FME facilitates a versatile and secure approach to AI.
We’ll wrap up with a live Q&A session where you can engage with our experts on your specific use cases, and learn more about optimizing your data workflows with AI.
This webinar is ideal for professionals seeking to harness the power of AI within their data management systems while ensuring high levels of customization and security. Whether you're a novice or an expert, gain actionable insights and strategies to elevate your data processes. Join us to see how FME and AI can revolutionize how you work with data!
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...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 integration of Salesforce with Bonterra Impact Management.
Interested in deploying an integration with Salesforce for Bonterra Impact Management? Contact us at sales@sidekicksolutionsllc.com to discuss next steps.
HCL Notes and Domino License Cost Reduction in the World of DLAUpanagenda
Webinar Recording: https://www.panagenda.com/webinars/hcl-notes-and-domino-license-cost-reduction-in-the-world-of-dlau/
The introduction of DLAU and the CCB & CCX licensing model caused quite a stir in the HCL community. As a Notes and Domino customer, you may have faced challenges with unexpected user counts and license costs. You probably have questions on how this new licensing approach works and how to benefit from it. Most importantly, you likely have budget constraints and want to save money where possible. Don’t worry, we can help with all of this!
We’ll show you how to fix common misconfigurations that cause higher-than-expected user counts, and how to identify accounts which you can deactivate to save money. There are also frequent patterns that can cause unnecessary cost, like using a person document instead of a mail-in for shared mailboxes. We’ll provide examples and solutions for those as well. And naturally we’ll explain the new licensing model.
Join HCL Ambassador Marc Thomas in this webinar with a special guest appearance from Franz Walder. It will give you the tools and know-how to stay on top of what is going on with Domino licensing. You will be able lower your cost through an optimized configuration and keep it low going forward.
These topics will be covered
- Reducing license cost by finding and fixing misconfigurations and superfluous accounts
- How do CCB and CCX licenses really work?
- Understanding the DLAU tool and how to best utilize it
- Tips for common problem areas, like team mailboxes, functional/test users, etc
- Practical examples and best practices to implement right away
How to Get CNIC Information System with Paksim Ga.pptxdanishmna97
Pakdata Cf is a groundbreaking system designed to streamline and facilitate access to CNIC information. This innovative platform leverages advanced technology to provide users with efficient and secure access to their CNIC details.
Taking AI to the Next Level in Manufacturing.pdfssuserfac0301
Read Taking AI to the Next Level in Manufacturing to gain insights on AI adoption in the manufacturing industry, such as:
1. How quickly AI is being implemented in manufacturing.
2. Which barriers stand in the way of AI adoption.
3. How data quality and governance form the backbone of AI.
4. Organizational processes and structures that may inhibit effective AI adoption.
6. Ideas and approaches to help build your organization's AI strategy.
Fueling AI with Great Data with Airbyte WebinarZilliz
This talk will focus on how to collect data from a variety of sources, leveraging this data for RAG and other GenAI use cases, and finally charting your course to productionalization.
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfMalak Abu Hammad
Discover how MongoDB Atlas and vector search technology can revolutionize your application's search capabilities. This comprehensive presentation covers:
* What is Vector Search?
* Importance and benefits of vector search
* Practical use cases across various industries
* Step-by-step implementation guide
* Live demos with code snippets
* Enhancing LLM capabilities with vector search
* Best practices and optimization strategies
Perfect for developers, AI enthusiasts, and tech leaders. Learn how to leverage MongoDB Atlas to deliver highly relevant, context-aware search results, transforming your data retrieval process. Stay ahead in tech innovation and maximize the potential of your applications.
#MongoDB #VectorSearch #AI #SemanticSearch #TechInnovation #DataScience #LLM #MachineLearning #SearchTechnology
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slackshyamraj55
Discover the seamless integration of RPA (Robotic Process Automation), COMPOSER, and APM with AWS IDP enhanced with Slack notifications. Explore how these technologies converge to streamline workflows, optimize performance, and ensure secure access, all while leveraging the power of AWS IDP and real-time communication via Slack notifications.
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc
How does your privacy program stack up against your peers? What challenges are privacy teams tackling and prioritizing in 2024?
In the fifth annual Global Privacy Benchmarks Survey, we asked over 1,800 global privacy professionals and business executives to share their perspectives on the current state of privacy inside and outside of their organizations. This year’s report focused on emerging areas of importance for privacy and compliance professionals, including considerations and implications of Artificial Intelligence (AI) technologies, building brand trust, and different approaches for achieving higher privacy competence scores.
See how organizational priorities and strategic approaches to data security and privacy are evolving around the globe.
This webinar will review:
- The top 10 privacy insights from the fifth annual Global Privacy Benchmarks Survey
- The top challenges for privacy leaders, practitioners, and organizations in 2024
- Key themes to consider in developing and maintaining your privacy program
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Speck&Tech
ABSTRACT: A prima vista, un mattoncino Lego e la backdoor XZ potrebbero avere in comune il fatto di essere entrambi blocchi di costruzione, o dipendenze di progetti creativi e software. La realtà è che un mattoncino Lego e il caso della backdoor XZ hanno molto di più di tutto ciò in comune.
Partecipate alla presentazione per immergervi in una storia di interoperabilità, standard e formati aperti, per poi discutere del ruolo importante che i contributori hanno in una comunità open source sostenibile.
BIO: Sostenitrice del software libero e dei formati standard e aperti. È stata un membro attivo dei progetti Fedora e openSUSE e ha co-fondato l'Associazione LibreItalia dove è stata coinvolta in diversi eventi, migrazioni e formazione relativi a LibreOffice. In precedenza ha lavorato a migrazioni e corsi di formazione su LibreOffice per diverse amministrazioni pubbliche e privati. Da gennaio 2020 lavora in SUSE come Software Release Engineer per Uyuni e SUSE Manager e quando non segue la sua passione per i computer e per Geeko coltiva la sua curiosità per l'astronomia (da cui deriva il suo nickname deneb_alpha).
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceIndexBug
Imagine a world where machines not only perform tasks but also learn, adapt, and make decisions. This is the promise of Artificial Intelligence (AI), a technology that's not just enhancing our lives but revolutionizing entire industries.
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
MySQL Proxy tutorial
1. MySQL Proxy
The complete tutorial
Jan Kneschke,
Presented by,
MySQL AB® & O’Reilly Media, Inc.
Senior software Engineer,
MySQL
Giuseppe Maxia,
Community Team Leader,
MySQL
This work is licensed under the Creative Commons Attribution-Share Alike 3.0
Unported License.
2. Raise your hand
Who has heard of MySQL Proxy ?
Who has tried out MySQL Proxy ?
Who runs MySQL Proxy in production ?
Who wrote scripts for MySQL Proxy ?
Who runs MySQL Proxy from svn ?
Who runs another MySQL Proxy like
application ?
3. Raise your hand
Who has read the quot;getting startedquot;
article?
Who has read the datacharmer blog
posts?
4. Agenda
Overview
Basic principles
Lua scripts
Proxy for a single backend
Proxy for multiple backends
Wizardry (all over)
5. Proxy (< latin quot;procuratioquot;)
= Someone taking care of someone
else's interests
A server proxy is something acting on
behalf of another server
7. Proxies for http
Squid, Varnish, ...
SSL Off-Loading in hardware
perlbal
DNS round robin
8. And for MySQL?
Load Balancing for Scale Out
Fail Over on Maintenance, Host Failure, ...
Tracing of Evil Queries
Patching Evil Queries
Connection Pooling
9. Proxies for MySQL
no MySQL awareness
• tcp-level solutions
not transparent
• Continuent(tm) uni/cluster
• sqlrelay
around 2007
• home grown solutions
10. Grow your own
REST to SQL (nytimes)
• uses HTTP features
MySQL transparent
• Protocol in the forge
• implement server and client side
• MySQL Proxy, dormando, DBI::MySQLServer
18. what can you do with MySQL Proxy
create new commands
filter queries (deny specific queries)
collect statistics on usage
implement usage quotas
execute shell commands
create customized logs
implement server-side pivot tables
start/stop a MySQL server remotely
19. what can you do with MySQL Proxy
play movies (seriously!)
make coffee (really?)
sharding
load balancing servers
20. what can you do with MySQL Proxy
Let us show you ...
33. working with results
• return the original result
• return a fake result
• return an error
• alter the original result
• return something different
(affected/retrieved)
34. debugging
• Put a Proxy in between
• use a sensible script to see
what's going on (e.g.
tutorial-packets.lua or
tutorial-states.lua)
35. debugging
server
proxy
client
diagnostics
text
44. Numbers and strings
• nil = no value (false)
• number = floating point
• '5' =/= 5 a = nil
b = 5; c = '5'
print (b == c)
false
print (b == c +0)
true
45. Numbers and strings
• conversion on demand
a = 5 ; b = '5'
print(type(a), type(b))
number string
print(type(b+0))
number
print(type(a .. quot;quot;))
string
46. Numbers and strings
• conversion on demand
a = 5 ; b = '5'
print(type(tostring(a)))
string
print(type(tonumber(b)))
number
47. strings
• smart quoting
a = 'Hello'
b = quot;Worldquot;
c = quot;Can'tquot;
d = [[Don't say quot;Helloquot;]]
e = [=[quot;d'ohquot; [[braces]]!]=]
48. tables
• associative arrays
• can be used as arrays
• can create complex structures
t1 = {10, 20, 30 }
t2 = {
a = 'abc',
b = 2,
c = { 3, 4}
}
49. functions
• can be assigned to variables
• new functions can override existing
ones
function f (x)
print(x)
end
g=f
g(10)
50. userdata
• containers to exchange data
between Lua and host language
• can have quot;tag methodsquot;
53. statement blocks
• if
if condition then
statements
end
• while
while condition do
statements
end
54. statement blocks
• for
for var = 1, 10 [,step] do
statements
end
• for
for n,v in pairs(table_var) do
statements
end
55. sample function
• read_query
1 function read_query(packet)
2 if packet:byte() ~=
3 proxy.PROXY_COM_QUERY
4 then
5 return
6 end
7 local query = packet:sub(2)
8 print('received ' .. query)
9 end
56. some details
== equals
~= not equal
string.byte(packet)
packet:byte()
string.sub(packet,2)
packet:sub(2)
'abc' .. '123' == 'abc123'
57. using tables
t = {}
t[1] = 'a' --First element 1, ! 0
t[2] = 'b'
table.insert(t, 'c')
-- or t[ #t +1 ] = 'c'
t = {'a', 'b', 'c' }
t = {1 = 'a', 2 = 'b', 3 = 'c'}
print (t[2])
b
58. using tables
sizes = {}
sizes['john'] = 'XL'
sizes['paul'] = 'M'
sizes['fred'] = 'L'
sizes = {
john = 'XL',
paul = 'M',
fred = 'L',
}
59. using tables
sizes = {
john = 'XL',
paul = 'M',
fred = 'L',
}
print(sizes['john'])
XL
print(sizes.paul)
M
60. using tables
for i, v in ipairs(t) do
print (i ..' -> ' .. v)
end
for name,size in pairs(sizes) do
print(name .. ' ' ..
'wears' .. ' ' ..
size)
end
61. WATCH OUT!
/* C / C++ */
int a = 0;
printf(quot;%snquot;,
a ? quot;truequot; : quot;falsequot;);
false
-- Lua
a=0
print ( a and quot;truequot; or quot;falsequot;)
true
62. WATCH OUT!
-- Lua
a = false
print ( a and quot;truequot; or quot;falsequot;)
false
a = nil
print ( a and quot;truequot; or quot;falsequot;)
false
63. Finding text
query = 'SELECT id FROM t1'
local cmd, column =
query:match(quot;(SELECT)%s+(%w+)quot;)
if cmd then
-- do something with query
end
64. finding text
• Regular expressions
• similar to Perl/PHP, but simpler
• % instead of
• (captures)
• [character classes]
• ^$+-?*
• no alternation (a|b)
• no modifiers /i
65. finding text (Proxy way)
local tk =
require('proxy.tokenizer')
local tokens = tk.tokenize(query)
if tokens[1].token_name ==
'TK_SQL_SELECT' then
-- do something with query
end
66. finding text (Proxy way)
-- each token is a table
token = {
token_name = 'TK_SQL_SELECT',
text = 'select',
token_id = 204
}
67. I/O
-- files are objects
local fname = '/tmp/test.txt'
assert(fh = io.open(fname,'r'))
for line in fh:lines() do
print(line)
end
fh:close()
68. I/O
-- files are objects
local fname = '/tmp/test.txt'
assert(fh = io.open(fname,'w'), 'oops!')
for x = 1, 100 do
fh:write('new row ' .. x)
fh:flush()
end
fh:close()
73. cookbook: returning a full dataset
function make_dataset (header, dataset)
proxy.response.type = proxy.MYSQLD_PACKET_OK
proxy.response.resultset = {
fields = {}, rows = {}}
for i,v in pairs (header) do
table.insert(
proxy.response.resultset.fields,
{type = proxy.MYSQL_TYPE_STRING, name = v}
end
for i,v in pairs (dataset) do
table.insert(proxy.response.resultset.rows, v )
end
return proxy.PROXY_SEND_RESULT
end
74. cookbook: returning a full dataset
return make_dataset(
{'command', 'description' }, -- the header
{ -- the rows
{'FOO', 'removes the database'},
{'BAR', 'drops all tables'},
{'FOOBAR', 'makes the server explode'},
}
)
78. cookbook: returning a non dataset result
function affected_rows (rows,id)
proxy.response = {
type = proxy.MYSQLD_PACKET_OK,
affected_rows = rows,
insert_id = id,
}
return proxy.PROXY_SEND_RESULT
end
80. cookbook: debug messages
local DEBUG = os.getenv('DEBUG') or 0
DEBUG = DEBUG + 0
function read_query (packet )
if packet:byte() ~= proxy.COM_QUERY then return end
print_debug(packet:sub(2),1)
print_debug('inside read_query', 2)
end
function print_debug(msg, level)
level = level or 1
if DEBUG >= level then
print (msg)
end
end
81. cookbook: verbose level at run time
local DEBUG = os.getenv('DEBUG') or 0
DEBUG = DEBUG + 0
function read_query (packet )
if packet:byte() ~= proxy.COM_QUERY then return end
local vlevel=query:match('^VERBOSE=(%d)$')
if vlevel then
DEBUG = vlevel+0
return simple_dataset('verbose',vlevel)
end
end
82. cookbook: keep info inside a session
proxy
script
my variable value
my variable value my variable value
83. cookbook: keep info inside a session
nothing to do :)
Proxy scripts have session scope by default
local tot_q = 0
function read_query (packet )
if packet:byte() ~= proxy.COM_QUERY then return end
tot_q = tot_q + 1
print('queries ' .. tot_q)
end
85. cookbook: share info among sessions
proxy.global.tot_q = proxy.global.tot_q or 0
function read_query (packet )
if packet:byte() ~= proxy.COM_QUERY then return end
proxy.global.tot_q = proxy.global.tot_q + 1
print('queries ' .. proxy.global.tot_q)
end
90. all_hooks.lua
source: 010_all-hooks.lua
function read_query (packet)
print_access('inside read_query t' .. packet:sub(
proxy.queries:append(1, packet)
return proxy.PROXY_SEND_QUERY
end
function read_query_result (inj)
print_access('inside read_query_result t' ..
inj.query)
end
91. read_query and read_query_result
client
query
result
function
read_query_result
function MySQL
read_query Proxy
if a query is passed directly to the
query
server, its result is NOT evaluated
result
by read_query_result
SERVER
92. read_query and read_query_result
client
query
result
function
read_query_result
MySQL
function
only if a query is
Proxy
read_query
added to the query
query queue
queue, its result is
query
query
query
evaluated by
result
read_query_result
SERVER
98. Q&A
Let's talk!
Slides and example scripts
http://datacharmer.org/tutorial_uc2008/
This work is licensed under the Creative Commons Attribution-Share Alike 3.0 Unported License. To view a copy of this
license, visit http://creativecommons.org/licenses/by-sa/3.0/ or send a letter to Creative Commons, 171 Second Street, Suite
300, San Francisco, California, 94105, USA.