This document summarizes a presentation on Multi Version Concurrency Control (MVCC) in PostgreSQL. It begins with definitions and history of MVCC, describing how it allows transactions to read and write without blocking each other. It then discusses two approaches to MVCC - storing old versions in the main database (PostgreSQL) vs a separate area (Oracle). The rest of the document does a deep dive on how MVCC is implemented in PostgreSQL specifically, showing how tuple headers track transaction IDs and pointers to maintain multiple versions of rows.
MySQL indexing is one of the areas where you can achieve the most performance gains. In this presentation we have a short look how we can improve MySQL performance with indexing...
The document discusses indexing in MySQL. It provides an overview of indexes, including what they are, why they are needed, and the tradeoffs between performance and maintenance. It also covers viewing indexes in MySQL, different index types, indexes with JOINs, and specifics on indexes with MyISAM and MEMORY storage engines.
MySQL replication allows data from a master database server to be copied to one or more slave database servers. It provides advantages like improving performance through load balancing, increasing data security with backups on slaves, and enabling analytics on slaves without impacting the master. Basic replication involves setting up a master server and slave server with unique IDs, configuring the master to log binary changes, and pointing the slave to the master so it can copy the binary log entries.
This document discusses strategies for automating remote database backups across multiple data centers. It recommends scheduling backups automatically after a queue time to use underutilized backup servers. The backup manager would select the target backup server based on its service zone, data center location, and available quota to balance load. It would also avoid using the same backup server consecutively and start backups at different times each day to improve reliability in case of failures.
Postgres Toolkit is a collection of scripts and utilities that allows database administrators to perform complicated PostgreSQL management tasks with single commands. It focuses on frequent tasks like monitoring performance, checking configuration, and managing backups. The open source toolkit currently contains 13 scripts that work on Linux systems and PostgreSQL versions 9.0 through 9.4. It can be installed with a single curl command and includes utilities like pt-config to manage configuration files and pt-session-profiler to monitor long-running queries.
This document summarizes a presentation on Multi Version Concurrency Control (MVCC) in PostgreSQL. It begins with definitions and history of MVCC, describing how it allows transactions to read and write without blocking each other. It then discusses two approaches to MVCC - storing old versions in the main database (PostgreSQL) vs a separate area (Oracle). The rest of the document does a deep dive on how MVCC is implemented in PostgreSQL specifically, showing how tuple headers track transaction IDs and pointers to maintain multiple versions of rows.
MySQL indexing is one of the areas where you can achieve the most performance gains. In this presentation we have a short look how we can improve MySQL performance with indexing...
The document discusses indexing in MySQL. It provides an overview of indexes, including what they are, why they are needed, and the tradeoffs between performance and maintenance. It also covers viewing indexes in MySQL, different index types, indexes with JOINs, and specifics on indexes with MyISAM and MEMORY storage engines.
MySQL replication allows data from a master database server to be copied to one or more slave database servers. It provides advantages like improving performance through load balancing, increasing data security with backups on slaves, and enabling analytics on slaves without impacting the master. Basic replication involves setting up a master server and slave server with unique IDs, configuring the master to log binary changes, and pointing the slave to the master so it can copy the binary log entries.
This document discusses strategies for automating remote database backups across multiple data centers. It recommends scheduling backups automatically after a queue time to use underutilized backup servers. The backup manager would select the target backup server based on its service zone, data center location, and available quota to balance load. It would also avoid using the same backup server consecutively and start backups at different times each day to improve reliability in case of failures.
Postgres Toolkit is a collection of scripts and utilities that allows database administrators to perform complicated PostgreSQL management tasks with single commands. It focuses on frequent tasks like monitoring performance, checking configuration, and managing backups. The open source toolkit currently contains 13 scripts that work on Linux systems and PostgreSQL versions 9.0 through 9.4. It can be installed with a single curl command and includes utilities like pt-config to manage configuration files and pt-session-profiler to monitor long-running queries.
MySQL Audit using Percona audit plugin and ELKI Goo Lee
This document discusses setting up MySQL auditing using the Percona Audit Plugin and ELK (Elasticsearch, Logstash, Kibana). It describes installing and configuring the Percona Audit Plugin on MySQL servers to generate JSON audit logs. It then covers using Rsyslog or Filebeat to ship the logs to the Logstash server, and configuring Logstash to parse, enrich, and index the logs into Elasticsearch. Finally, it discusses visualizing the audit data with Kibana dashboards containing graphs and searching. The architecture involves MySQL servers generating logs, Logstash collecting and processing them, and Elasticsearch and Kibana providing search and analytics.
This document discusses using Perl stored procedures with MySQL. Key points include:
- Perl provides advantages over MySQL's SQL stored procedures like access to CPAN modules, thread-friendliness, and ability to execute dynamic SQL.
- The document provides instructions for installing and configuring the Perl plugin for MySQL, and includes a simple "Hello World" example Perl stored procedure.
- Perl stored procedures can return result sets, pass parameters by value or reference, and offer features like detecting module changes and dynamic SQL support via DBI.
- Limitations include not being able to fork threads or access tables with dynamic SQL due to MySQL internals. Future directions may address this.
Valerii Kravchuk is a MySQL support engineer who provides tips on using gdb to troubleshoot MySQL problems. Gdb can be used to check stack traces, print variable values, set breakpoints, and call functions when analyzing core dumps or attached to a live mysqld process. The THD structure contains important runtime information like the current query string. Real-life examples demonstrate checking core files and attaching gdb to modify variables in a running server.
This document discusses high availability with Galera Cluster for MySQL. It provides an overview of Galera Cluster, including its advantages like active-active multi-master clusters and automatic node membership control. It also covers Galera Cluster installation, configuration, operations like initial cluster start and rolling restarts, load balancing, and online schema upgrades.
This document discusses various profiling tools that can be used to analyze MySQL performance, including Oprofile, perf, pt-pmp, and the MySQL Performance Schema. It provides examples of how these tools have been used to identify and resolve specific MySQL performance bugs. While the Performance Schema is useful, it does not always provide sufficient detail and other system-wide profilers like Oprofile and perf are still needed in some cases to pinpoint performance issues.
MySQLinsanity! This document provides an overview of Stanley Huang's MySQL performance tuning experience and expertise. It begins with introductions and background on Stanley Huang. It then discusses the typical phases of MySQL performance tuning projects, including SQL tuning and RDBMS tuning. Specific tips are provided around topics like slow query logging, index usage, partitioning, and server configuration. The document concludes with an invitation for questions.
More on bpftrace for MariaDB DBAs and Developers - FOSDEM 2022 MariaDB DevroomValeriy Kravchuk
bpftrace is a relatively new open source tracer for modern Linux (kernels 5.x.y) that may help to troubleshoot performance issues in production as well as to get insights on how software really works. I use it for a couple of years and would like to present more details on how to do it efficiently, including but not limited to adding user probes to different lines of the code inside functions, checking values of local variables and using bpftrace as a code coverage tool.
This document discusses the setup and architecture of a MySQL Spider configuration. It describes installing multiple MySQL instances on a single server, including 4 MariaDB 10.1 nodes and 6 MySQL 5.7 nodes. It then configures the Spider storage engine to partition tables across these nodes for both data sharding and high availability. Examples are provided of creating servers, tables, and inserting/selecting data to demonstrate the federated and sharded architecture.
Tracing and profiling my sql (percona live europe 2019) draft_1Valerii Kravchuk
The document discusses various tools that can be used for tracing and profiling MySQL, including Linux tools like strace, gdb, ftrace, bpftrace, perf, and dynamic probes. It focuses on perf as one of the best and easiest tools to use for tracing and profiling MySQL in production on Linux. Examples are provided of using perf to add probes to MySQL dynamically to capture SQL queries.
This document discusses using Perl stored procedures with MariaDB. Key points include:
- Perl stored procedures are implemented as Perl modules that use DBD::mysql to access the database from within the MariaDB process. This makes them easier to debug than SQL stored routines.
- Examples are provided for simple "Hello World" procedures, handling errors, reading and returning data from queries, and modifying data by inserting rows.
- Perl stored procedures allow extending MariaDB's functionality by leveraging thousands of modules on CPAN. As an example, the document shows how a procedure could implement a basic monitoring server using HTTP::Daemon to expose server status data via a JSON API.
External Language Stored Procedures for MySQLAntony T Curtis
This document describes an external language stored procedure framework for MySQL. It allows defining stored procedures using external languages like Java, Perl, and XML-RPC. The framework makes minor changes to MySQL's parser and stored procedure engine to support external languages while keeping most of the existing architecture. It also describes how dynamic SQL and result sets are supported through this framework.
Как в PostgreSQL устроено взаимодействие с диском, какие проблемы производительности при этом бывают и как их решать выбором подходящего hardware, настройками операционной системы и настройками PostgreSQL
1. A PostgreSQL database outage occurred at GitLab on January 31st due to a combination of factors including an increase in load, replication lag, and the deletion of the database directory.
2. Lessons learned include monitoring replication, using tools like pg_basebackup properly, and having backups and disaster recovery processes in place.
3. Recommended preventative measures include setting sane configuration values, automated testing of backups, assigning an owner for data durability, and improving documentation.
This document explains how to set up ProxySQL to log queries from users connecting directly to the database servers. It details installing and configuring ProxySQL to log queries to binary files, using a tool to convert the binary logs to text format, and setting up an ELK stack to index the query logs and make them searchable in Kibana. Filebeat is configured to ship the text query logs to Logstash, which parses them and sends the data to Elasticsearch. Kibana provides a web interface for viewing and analyzing the query logs.
Instant add column for inno db in mariadb 10.3+ (fosdem 2018, second draft)Valerii Kravchuk
My slides for (canceled due to personal issues) talk for FOSDEM 2018 MySQL Devroom. I planned to discuss the history of ALTER TABLE speedup and optimization in MySQL, explain the implementation of instant ADD COLUMN for InnoDB tables in MariaDB 10.3 and compare performance of recent versions of MariaDB 10.2, 10.3, Percona Server 5.7, MyRocks from MariaDB 10.2 and MySQL 8.0.4 while working on multiple step test case incolving ALTER TABLE ... ADD COLUMN.
A lof of links to related manuals, blog posts and resources are presented.
Add a bit of ACID to Cassandra. Cassandra Summit EU 2014odnoklassniki.ru
OK.ru is one of the largest social networks for Russian-speaking audiences with 80+ million unique user’s visits monthly. ok.ru uses Cassandra since 2010 and made a number of improvements to C* 2.0 and 2.1 codebase. Until recent time more than 50 TB of data at Ok.ru OLTP systems was managed by Microsoft SQL Sever. It’s very expensive, hard to scale and cannot save us from outage if one of our data centers fail. We wanted a new, fast scalable and reliable storage for these data. These data has requirements to support ACID transactions, so we don’t have to rewrite all application code from scratch. С* does not support these transactions, only lightweight, so we implemented a new storage with ACID and selected features of SQL world by ourselves. Still, it has C* at its heart. We’ll discuss the internals of the new storage, what features of C* we had to alter and which to rewrite from scratch. We’ll also talk about its operational experience in production.
The document discusses various techniques for optimizing the performance of embedded Ruby (ERuby) templates. It describes 7 iterations of improvements to "MyEruby" that reduced the processing time from over 69 seconds to under 1 second. The optimizations included avoiding line splitting, replacing parsing with patterns, tuning regular expressions, inline expansion and array buffers.
The document provides instructions for installing Memcachedb, including downloading and compiling dependencies like libevent and BerkeleyDB, then compiling and installing Memcachedb itself from source code. Key steps include extracting source files, running configure scripts, making, and making install as the root user.
MySQL Audit using Percona audit plugin and ELKI Goo Lee
This document discusses setting up MySQL auditing using the Percona Audit Plugin and ELK (Elasticsearch, Logstash, Kibana). It describes installing and configuring the Percona Audit Plugin on MySQL servers to generate JSON audit logs. It then covers using Rsyslog or Filebeat to ship the logs to the Logstash server, and configuring Logstash to parse, enrich, and index the logs into Elasticsearch. Finally, it discusses visualizing the audit data with Kibana dashboards containing graphs and searching. The architecture involves MySQL servers generating logs, Logstash collecting and processing them, and Elasticsearch and Kibana providing search and analytics.
This document discusses using Perl stored procedures with MySQL. Key points include:
- Perl provides advantages over MySQL's SQL stored procedures like access to CPAN modules, thread-friendliness, and ability to execute dynamic SQL.
- The document provides instructions for installing and configuring the Perl plugin for MySQL, and includes a simple "Hello World" example Perl stored procedure.
- Perl stored procedures can return result sets, pass parameters by value or reference, and offer features like detecting module changes and dynamic SQL support via DBI.
- Limitations include not being able to fork threads or access tables with dynamic SQL due to MySQL internals. Future directions may address this.
Valerii Kravchuk is a MySQL support engineer who provides tips on using gdb to troubleshoot MySQL problems. Gdb can be used to check stack traces, print variable values, set breakpoints, and call functions when analyzing core dumps or attached to a live mysqld process. The THD structure contains important runtime information like the current query string. Real-life examples demonstrate checking core files and attaching gdb to modify variables in a running server.
This document discusses high availability with Galera Cluster for MySQL. It provides an overview of Galera Cluster, including its advantages like active-active multi-master clusters and automatic node membership control. It also covers Galera Cluster installation, configuration, operations like initial cluster start and rolling restarts, load balancing, and online schema upgrades.
This document discusses various profiling tools that can be used to analyze MySQL performance, including Oprofile, perf, pt-pmp, and the MySQL Performance Schema. It provides examples of how these tools have been used to identify and resolve specific MySQL performance bugs. While the Performance Schema is useful, it does not always provide sufficient detail and other system-wide profilers like Oprofile and perf are still needed in some cases to pinpoint performance issues.
MySQLinsanity! This document provides an overview of Stanley Huang's MySQL performance tuning experience and expertise. It begins with introductions and background on Stanley Huang. It then discusses the typical phases of MySQL performance tuning projects, including SQL tuning and RDBMS tuning. Specific tips are provided around topics like slow query logging, index usage, partitioning, and server configuration. The document concludes with an invitation for questions.
More on bpftrace for MariaDB DBAs and Developers - FOSDEM 2022 MariaDB DevroomValeriy Kravchuk
bpftrace is a relatively new open source tracer for modern Linux (kernels 5.x.y) that may help to troubleshoot performance issues in production as well as to get insights on how software really works. I use it for a couple of years and would like to present more details on how to do it efficiently, including but not limited to adding user probes to different lines of the code inside functions, checking values of local variables and using bpftrace as a code coverage tool.
This document discusses the setup and architecture of a MySQL Spider configuration. It describes installing multiple MySQL instances on a single server, including 4 MariaDB 10.1 nodes and 6 MySQL 5.7 nodes. It then configures the Spider storage engine to partition tables across these nodes for both data sharding and high availability. Examples are provided of creating servers, tables, and inserting/selecting data to demonstrate the federated and sharded architecture.
Tracing and profiling my sql (percona live europe 2019) draft_1Valerii Kravchuk
The document discusses various tools that can be used for tracing and profiling MySQL, including Linux tools like strace, gdb, ftrace, bpftrace, perf, and dynamic probes. It focuses on perf as one of the best and easiest tools to use for tracing and profiling MySQL in production on Linux. Examples are provided of using perf to add probes to MySQL dynamically to capture SQL queries.
This document discusses using Perl stored procedures with MariaDB. Key points include:
- Perl stored procedures are implemented as Perl modules that use DBD::mysql to access the database from within the MariaDB process. This makes them easier to debug than SQL stored routines.
- Examples are provided for simple "Hello World" procedures, handling errors, reading and returning data from queries, and modifying data by inserting rows.
- Perl stored procedures allow extending MariaDB's functionality by leveraging thousands of modules on CPAN. As an example, the document shows how a procedure could implement a basic monitoring server using HTTP::Daemon to expose server status data via a JSON API.
External Language Stored Procedures for MySQLAntony T Curtis
This document describes an external language stored procedure framework for MySQL. It allows defining stored procedures using external languages like Java, Perl, and XML-RPC. The framework makes minor changes to MySQL's parser and stored procedure engine to support external languages while keeping most of the existing architecture. It also describes how dynamic SQL and result sets are supported through this framework.
Как в PostgreSQL устроено взаимодействие с диском, какие проблемы производительности при этом бывают и как их решать выбором подходящего hardware, настройками операционной системы и настройками PostgreSQL
1. A PostgreSQL database outage occurred at GitLab on January 31st due to a combination of factors including an increase in load, replication lag, and the deletion of the database directory.
2. Lessons learned include monitoring replication, using tools like pg_basebackup properly, and having backups and disaster recovery processes in place.
3. Recommended preventative measures include setting sane configuration values, automated testing of backups, assigning an owner for data durability, and improving documentation.
This document explains how to set up ProxySQL to log queries from users connecting directly to the database servers. It details installing and configuring ProxySQL to log queries to binary files, using a tool to convert the binary logs to text format, and setting up an ELK stack to index the query logs and make them searchable in Kibana. Filebeat is configured to ship the text query logs to Logstash, which parses them and sends the data to Elasticsearch. Kibana provides a web interface for viewing and analyzing the query logs.
Instant add column for inno db in mariadb 10.3+ (fosdem 2018, second draft)Valerii Kravchuk
My slides for (canceled due to personal issues) talk for FOSDEM 2018 MySQL Devroom. I planned to discuss the history of ALTER TABLE speedup and optimization in MySQL, explain the implementation of instant ADD COLUMN for InnoDB tables in MariaDB 10.3 and compare performance of recent versions of MariaDB 10.2, 10.3, Percona Server 5.7, MyRocks from MariaDB 10.2 and MySQL 8.0.4 while working on multiple step test case incolving ALTER TABLE ... ADD COLUMN.
A lof of links to related manuals, blog posts and resources are presented.
Add a bit of ACID to Cassandra. Cassandra Summit EU 2014odnoklassniki.ru
OK.ru is one of the largest social networks for Russian-speaking audiences with 80+ million unique user’s visits monthly. ok.ru uses Cassandra since 2010 and made a number of improvements to C* 2.0 and 2.1 codebase. Until recent time more than 50 TB of data at Ok.ru OLTP systems was managed by Microsoft SQL Sever. It’s very expensive, hard to scale and cannot save us from outage if one of our data centers fail. We wanted a new, fast scalable and reliable storage for these data. These data has requirements to support ACID transactions, so we don’t have to rewrite all application code from scratch. С* does not support these transactions, only lightweight, so we implemented a new storage with ACID and selected features of SQL world by ourselves. Still, it has C* at its heart. We’ll discuss the internals of the new storage, what features of C* we had to alter and which to rewrite from scratch. We’ll also talk about its operational experience in production.
The document discusses various techniques for optimizing the performance of embedded Ruby (ERuby) templates. It describes 7 iterations of improvements to "MyEruby" that reduced the processing time from over 69 seconds to under 1 second. The optimizations included avoiding line splitting, replacing parsing with patterns, tuning regular expressions, inline expansion and array buffers.
The document provides instructions for installing Memcachedb, including downloading and compiling dependencies like libevent and BerkeleyDB, then compiling and installing Memcachedb itself from source code. Key steps include extracting source files, running configure scripts, making, and making install as the root user.
This document provides instructions on installing and using Memcachedb. It begins with an overview of what Memcachedb is and why it was created, as well as its key features like high performance storage, reliability through transactions and replication, and compatibility with the Memcache protocol. It then covers supported commands, benchmark results showing high throughput, and steps for installing dependencies like libevent and BerkeleyDB before installing and running Memcachedb itself.
Caching and tuning fun for high scalability @ LOAD2012Wim Godden
Caching has been a 'hot' topic for a few years. But caching takes more than merely taking data and putting it in a cache : the right caching techniques can improve performance and reduce load significantly. But we'll also look at some major pitfalls, showing that caching the wrong way can bring down your site. If you're looking for a clear explanation about various caching techniques and tools like Memcached, Nginx and Varnish, as well as ways to deploy them in an efficient way, this talk is for you.
This document summarizes key features introduced in Java SE 5.0 (Tiger) including generics, autoboxing/unboxing, enhanced for loops, type-safe enums, varargs, static imports, and annotations. It also discusses performance enhancements in the virtual machine as well as new concurrency utilities like Executors and ScheduledExecutorService that make multi-threaded programming easier and more robust.
This document discusses deployment strategies for Ruby on Rails applications. It covers common components of the "Rails stack" including databases, caching, application servers and load balancers. Popular options are mentioned like Nginx, Memcached, Mongrel and Capistrano. Performance optimization techniques are also summarized, such as caching, background processing and memory usage strategies. The document concludes with an overview of common deployment processes and challenges.
Industrial Strength Groovy - Tools for the Professional Groovy Developer: Pau...Paul King
This document provides an overview of tools for testing, mocking, dependency injection, code quality, and duplication detection for Groovy developers. It discusses popular testing frameworks like JUnit, TestNG, Spock and EasyB and mocking libraries like MockFor, GMock and EasyMock. It also covers dependency injection with Spring and Guice, code coverage with Cobertura, code style checking with CodeNarc, and duplication detection with Simian.
Non-blocking I/O, Event loops and node.jsMarcus Frödin
This 15 minute presentation discusses non-blocking I/O, event loops, and Node.js. It builds on previous work by Ryan Dahl, explaining how threads can be expensive due to context switching and memory usage, and how Node.js uses an event-driven, non-blocking model to avoid these costs. Code examples demonstrate getting and printing a policy object, handling HTTP requests asynchronously without blocking additional connections, and using callbacks to chain asynchronous actions together.
Remote Procedure Call (RPC) allows a client to call a procedure in a remote server. A call creates a new thread on the server to service the request. The client blocks until the call is serviced. Java Remote Method Invocation (RMI) uses a similar approach, with server objects registered with a registry and clients obtaining proxy objects to invoke remote methods. Both use serialization to pass arguments between different address spaces. RPC introduces issues like partial failures and reduced performance compared to local calls due to network delays and concurrency.
Caching and tuning fun for high scalability @ 4DevelopersWim Godden
This document discusses techniques for caching and tuning a LAMP stack to improve performance, scalability, and reliability. It covers caching strategies like storing entire pages, page fragments, and data queries in memory caches like Memcached. It also discusses tuning the frontend to reduce page load times and database requests. Benchmark results show that these techniques can increase performance significantly when handling high traffic loads.
HeapStats: Troubleshooting with Serviceability and the New Runtime Monitoring...Yuji Kubota
The document discusses a new runtime monitoring tool called HeapStats that provides a lightweight Java agent for collecting troubleshooting information from a Java application. It summarizes problems with current troubleshooting approaches like insufficient logging and complicated settings. HeapStats aims to collect required information continuously with low overhead, and provide easy-to-use visualization of the collected data to help with troubleshooting memory and performance issues. The document demonstrates how HeapStats hooks into garbage collection to gather heap statistics without extra stop-the-world pauses.
D Trace Support In My Sql Guide To Solving Reallife Performance ProblemsMySQLConference
DTrace is a dynamic tracing framework that can be used to identify performance problems in MySQL. It works by inserting probes into code locations and executing scripts when the probes fire. This allows tracking of events like SQL queries, table locks, and storage engine operations without restarting MySQL. The document provides examples of using static and dynamic probes to trace queries and identify hot database tables.
The document discusses MySQL 5.7 which integrates both SQL and NoSQL capabilities. It provides instructions for a workshop on using MySQL Shell to interact with MySQL 5.7 and its document store functionality. The workshop covers installing the MySQL X Plugin, loading sample data, querying and modifying collections and tables, and handling errors.
Part presentation, part debate about the future of the language while touching base on the current state of the industry with respect to ES6/ES2015, and the possibilities of using it today in web applications and frameworks, the different options, and the things to keep in mind. Additionally, we will do a walk-through on the new features included in ES7/ES2016 draft, and those that are being discussed for ES8/ES2017.
This document discusses node.js and its use of server-side JavaScript. It begins by explaining that node.js uses an event-driven, non-blocking I/O model to handle multiple connections simultaneously in a single-threaded process. It then covers some of the motivations for this approach, including how it helps address latency issues and improves performance compared to traditional blocking I/O. The document also provides some history around node.js and its use of the CommonJS module system.
The document discusses the strategy for building and testing the programming language Hiroshi. It covers:
1. The Ruby Core team which maintains the language and includes over 80 volunteers.
2. The testing strategy for Ruby which involves testing at different levels from the interpreter to libraries. Extensive tests are run on Linux, Windows and macOS.
3. The CI environments used for Ruby development including GitHub Actions, Travis CI and AppVeyor, as well as internal VM clusters. Test results are collected on Ruby CI and discussed on Slack.
This document discusses implementing MySQL Cluster in the cloud. It begins by introducing the speaker and their experience with MySQL Cluster. It then covers choosing the appropriate Amazon EC2 instance type based on memory, CPU and disk requirements. Specific topics discussed include setting up MySQL Cluster across multiple EC2 instances, configuring EBS volumes in a RAID configuration, and defining cluster parameters like data memory, fragment size and number of log files. The document aims to provide practical guidance for deploying MySQL Cluster in AWS.
JRuby 9000 - Taipei Ruby User's Group 2015Charles Nutter
The document discusses JRuby 9000, a new version of JRuby that runs on a new runtime based on an intermediate representation (IR). Some key points:
- JRuby 9000 includes major performance improvements like just-in-time compiling of blocks and optimized define_method performance.
- The new runtime represents code as IR instructions instead of an AST for better optimization capabilities. It allows registering passes to optimize the IR.
- Future work includes improved inlining, numeric specialization to use primitives on the JVM, and leveraging ahead-of-time compilation capabilities being added to the JVM to improve startup time.
- The overall goal is to continue optimizing JRuby to perform
The document provides an overview of mysql-js, a MySQL connector for Node.js. It discusses mysql-js' architecture and APIs for connecting to MySQL/MySQL Cluster from Node.js applications, performing CRUD operations on data using sessions and batches, and executing queries. Code samples are provided for common operations like find, persist, update, remove and transactions. Instructions for getting mysql-js from GitHub and running a Twitter-like demo application are also included.
Router is one of the most important feature or component in Web application framework,
ant it is also one of the performance bottlenecks of framework.
In this session, I'll show you how to make router much faster than ever.
The document discusses code changes and tests related to adding pagination parameters to an API for retrieving books from a database. It includes:
1) A test failure when trying to access books with a 'size' parameter to limit results.
2) Comments and code changes to the book service and API to support limiting results by adding a 'limit' parameter.
3) Logs and queries showing the updated SQL statement with a limit clause.
What is wrong on Test::More? / Test::Moreが抱える問題点とその解決策kwatch
The document discusses issues with the Test::More module for testing in Perl and proposes solutions. It notes that Test::More does not encourage writing tests based on specifications, does not structure tests well, and makes it hard to distinguish assertions. It recommends writing tests according to specifications rather than code, using structures like contexts and descriptions to organize tests, and printing output lines on a per-specification rather than per-assertion basis to improve readability. It also proposes functions like spec() and subtest() to help write more specification-based tests with Test::More.
Oktest - a new style testing library for Python -kwatch
Oktest is a new-style testing library for Python. It helps you to read & write tests very much. Oktest is available with (or without) standard 'unittest' module.
The document contains results from various benchmark tests measuring the performance of different programming languages and implementations like Node.js, Java, Python, and others. It includes graphs showing the time taken to complete tasks like string concatenation and list operations. The benchmarks also compare just-in-time compilers and tracing JIT performance for some languages.
I have something to say about the buzz word "From Java to Ruby"kwatch
The document summarizes a lightning talk given at RubyKaigi2008 about transitioning from Java to Ruby. It cautions that simply writing Ruby code does not mean thinking in Ruby. It argues that overemphasizing beginners and bragging about project size are misguided. The talk urges programmers to change their mindset and think for themselves rather than blindly following trends when adopting new languages and technologies.
The document is a technical report from kuwata-lab.com copyrighted in 2007. It contains multiple graphs and tables comparing the performance of different template engines like Tenjin, ERB and Smarty. It also includes copyright notices on each page.
The document discusses modern object-relational mappers (ORMs) and their underlying technologies. It covers several key concepts:
1. Query objects allow building queries through method chaining rather than keyword arguments, abstracting SQL queries.
2. View-layer caching can be implemented through lazy loading to avoid tight coupling between controllers and views.
3. The N+1 problem, where querying dependent objects results in multiple queries, can be addressed through eager loading or strategic eager loading.
4. Ruby-to-SQL translation is enabled by overriding operators in Ruby to generate an abstract syntax tree, which can then be converted to SQL.
Ivanti’s Patch Tuesday breakdown goes beyond patching your applications and brings you the intelligence and guidance needed to prioritize where to focus your attention first. Catch early analysis on our Ivanti blog, then join industry expert Chris Goettl for the Patch Tuesday Webinar Event. There we’ll do a deep dive into each of the bulletins and give guidance on the risks associated with the newly-identified vulnerabilities.
Ocean lotus Threat actors project by John Sitima 2024 (1).pptxSitimaJohn
Ocean Lotus cyber threat actors represent a sophisticated, persistent, and politically motivated group that poses a significant risk to organizations and individuals in the Southeast Asian region. Their continuous evolution and adaptability underscore the need for robust cybersecurity measures and international cooperation to identify and mitigate the threats posed by such advanced persistent threat groups.
Project Management Semester Long Project - Acuityjpupo2018
Acuity is an innovative learning app designed to transform the way you engage with knowledge. Powered by AI technology, Acuity takes complex topics and distills them into concise, interactive summaries that are easy to read & understand. Whether you're exploring the depths of quantum mechanics or seeking insight into historical events, Acuity provides the key information you need without the burden of lengthy texts.
Main news related to the CCS TSI 2023 (2023/1695)Jakub Marek
An English 🇬🇧 translation of a presentation to the speech I gave about the main changes brought by CCS TSI 2023 at the biggest Czech conference on Communications and signalling systems on Railways, which was held in Clarion Hotel Olomouc from 7th to 9th November 2023 (konferenceszt.cz). Attended by around 500 participants and 200 on-line followers.
The original Czech 🇨🇿 version of the presentation can be found here: https://www.slideshare.net/slideshow/hlavni-novinky-souvisejici-s-ccs-tsi-2023-2023-1695/269688092 .
The videorecording (in Czech) from the presentation is available here: https://youtu.be/WzjJWm4IyPk?si=SImb06tuXGb30BEH .
OpenID AuthZEN Interop Read Out - AuthorizationDavid Brossard
During Identiverse 2024 and EIC 2024, members of the OpenID AuthZEN WG got together and demoed their authorization endpoints conforming to the AuthZEN API
GraphRAG for Life Science to increase LLM accuracyTomaz Bratanic
GraphRAG for life science domain, where you retriever information from biomedical knowledge graphs using LLMs to increase the accuracy and performance of generated answers
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.
UiPath Test Automation using UiPath Test Suite series, part 6DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 6. In this session, we will cover Test Automation with generative AI and Open AI.
UiPath Test Automation with generative AI and Open AI webinar offers an in-depth exploration of leveraging cutting-edge technologies for test automation within the UiPath platform. Attendees will delve into the integration of generative AI, a test automation solution, with Open AI advanced natural language processing capabilities.
Throughout the session, participants will discover how this synergy empowers testers to automate repetitive tasks, enhance testing accuracy, and expedite the software testing life cycle. Topics covered include the seamless integration process, practical use cases, and the benefits of harnessing AI-driven automation for UiPath testing initiatives. By attending this webinar, testers, and automation professionals can gain valuable insights into harnessing the power of AI to optimize their test automation workflows within the UiPath ecosystem, ultimately driving efficiency and quality in software development processes.
What will you get from this session?
1. Insights into integrating generative AI.
2. Understanding how this integration enhances test automation within the UiPath platform
3. Practical demonstrations
4. Exploration of real-world use cases illustrating the benefits of AI-driven test automation for UiPath
Topics covered:
What is generative AI
Test Automation with generative AI and Open AI.
UiPath integration with generative AI
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUpanagenda
Webinar Recording: https://www.panagenda.com/webinars/hcl-notes-und-domino-lizenzkostenreduzierung-in-der-welt-von-dlau/
DLAU und die Lizenzen nach dem CCB- und CCX-Modell sind für viele in der HCL-Community seit letztem Jahr ein heißes Thema. Als Notes- oder Domino-Kunde haben Sie vielleicht mit unerwartet hohen Benutzerzahlen und Lizenzgebühren zu kämpfen. Sie fragen sich vielleicht, wie diese neue Art der Lizenzierung funktioniert und welchen Nutzen sie Ihnen bringt. Vor allem wollen Sie sicherlich Ihr Budget einhalten und Kosten sparen, wo immer möglich. Das verstehen wir und wir möchten Ihnen dabei helfen!
Wir erklären Ihnen, wie Sie häufige Konfigurationsprobleme lösen können, die dazu führen können, dass mehr Benutzer gezählt werden als nötig, und wie Sie überflüssige oder ungenutzte Konten identifizieren und entfernen können, um Geld zu sparen. Es gibt auch einige Ansätze, die zu unnötigen Ausgaben führen können, z. B. wenn ein Personendokument anstelle eines Mail-Ins für geteilte Mailboxen verwendet wird. Wir zeigen Ihnen solche Fälle und deren Lösungen. Und natürlich erklären wir Ihnen das neue Lizenzmodell.
Nehmen Sie an diesem Webinar teil, bei dem HCL-Ambassador Marc Thomas und Gastredner Franz Walder Ihnen diese neue Welt näherbringen. Es vermittelt Ihnen die Tools und das Know-how, um den Überblick zu bewahren. Sie werden in der Lage sein, Ihre Kosten durch eine optimierte Domino-Konfiguration zu reduzieren und auch in Zukunft gering zu halten.
Diese Themen werden behandelt
- Reduzierung der Lizenzkosten durch Auffinden und Beheben von Fehlkonfigurationen und überflüssigen Konten
- Wie funktionieren CCB- und CCX-Lizenzen wirklich?
- Verstehen des DLAU-Tools und wie man es am besten nutzt
- Tipps für häufige Problembereiche, wie z. B. Team-Postfächer, Funktions-/Testbenutzer usw.
- Praxisbeispiele und Best Practices zum sofortigen Umsetzen
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
Skybuffer SAM4U tool for SAP license adoptionTatiana Kojar
Manage and optimize your license adoption and consumption with SAM4U, an SAP free customer software asset management tool.
SAM4U, an SAP complimentary software asset management tool for customers, delivers a detailed and well-structured overview of license inventory and usage with a user-friendly interface. We offer a hosted, cost-effective, and performance-optimized SAM4U setup in the Skybuffer Cloud environment. You retain ownership of the system and data, while we manage the ABAP 7.58 infrastructure, ensuring fixed Total Cost of Ownership (TCO) and exceptional services through the SAP Fiori interface.
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.
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.
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
MySQLドライバの改良と軽量O/Rマッパーの紹介
1. Ruby 01 LightningTalk
MySQL
O/R
makoto kuwata
http://www.kuwata-lab.com/
copyright(c) 2008 kuwata-lab.com all rights reserved.
1
2. 1
MySQL
copyright(c) 2008 kuwata-lab.com all rights reserved.
2
3. MySQL/Ruby
‣ MySQL/Ruby
• Ruby MySQL
• :
• Rails
• http://www.tmtm.org/mysql/ruby/
copyright(c) 2008 kuwata-lab.com all rights reserved.
3
4. ‣ Mysql::Result#fetch()
•
‣ Mysql::Stmt#fetch()
• 3.14 3.14000010490417
• timestamp Time Mysql::Time
copyright(c) 2008 kuwata-lab.com all rights reserved.
4
5. motto-mysql
‣ motto-mysql
• MySQL/Ruby
• http://motto-mysql.rubyforge.org/
http://github.com/kwatch/motto-mysql
• :
$ which mysql_config
/usr/local/mysql/bin/mysql_config
$ sudo gem install motto-mysql
copyright(c) 2008 kuwata-lab.com all rights reserved.
5
6. ‣ Mysql::Result
fetch
• #fetch_as_hash()/array()
• #fetch_all_as_hashes()/arrays()
‣ Mysql::Stmt 3.14 3.14
timestamp Time
• #fetch_as_hash()/array()
• #fetch_all_as_hashes()/arrays()
copyright(c) 2008 kuwata-lab.com all rights reserved.
6
7. ‣ MySQL::Result#fetch_as(klass)
MySQL::Result#fetch_all_as(klass)
• klass
• Hash fetch
copyright(c) 2008 kuwata-lab.com all rights reserved.
7
8. require 'mysql'
require 'motto_mysql'
conn = Mysql.connect('host', 'user', 'pass', 'db')
sql = 'select * from users'
result = conn.query(sql)
p result.fetch_as(User) #=> User object
result.fetch_all_as(User) do |user|
p user #=> User object
end
copyright(c) 2008 kuwata-lab.com all rights reserved.
8
11. ‣ integer(1) boolean
true/false
‣ '0000-00-00 00:00:00' Time Date
(ArgumentError)
‣ Ruby on Rails
copyright(c) 2008 kuwata-lab.com all rights reserved.
11
12. 2
O/R
copyright(c) 2008 kuwata-lab.com all rights reserved.
12
13. Kwery
‣ Kwery … O/R
• CGI
• Model class
• Join-less
• MySQL motto-mysql
• http://github.com/kwatch/kwery/
copyright(c) 2008 kuwata-lab.com all rights reserved.
13
14. class User
include Kwery::Model create table
DSL
create_table('users') do |t|
t.integer(:id) {|c| c.primary_key.serial }
t.string(:name) {|c| c.not_null.unique }
t.timestamp(:created_at) {|c|
c.default(:current_timestamp) }
end
end # User.to_sql SQL
copyright(c) 2008 kuwata-lab.com all rights reserved.
14
15. # Query
conn = Mysql.connect('host', 'user', 'pass', 'db')
q = Kwery::Query.new(conn)
#
# Hash
user = q.get(User, :id, 7)
# where order_by method chain
users = q.get_all(User) {|c|
c.where('age >', 20).order_by(:name) }
copyright(c) 2008 kuwata-lab.com all rights reserved.
15
16. : Join
‣ Join-less programming ( : )
• select * from users, groups where
user.group_id = groups.id;
select * from users;
select * from groups where id in (...);
• 1+N 2
users = q.get_all(User) #=> select * from users
q.bind_references_to(users, Group, 'team_id', 'team')
#=> select * from groups where id in (...)
copyright(c) 2008 kuwata-lab.com all rights reserved.
16
17. Web !
http://www.github.com/kwatch/kwery/
copyright(c) 2008 kuwata-lab.com all rights reserved.
17