This presentation reveals many important aspects of the CUBRID Database, including its unique features, future roadmap, comparison with other databases, architecture, etc.
Growing in the Wild. The story by CUBRID Database Developers.CUBRID
The presentation the CUBRID team presented at Russian Internet Technologies Conference in 2012. The presentation covers such questions as *WHY* CUBRID was developed, *WHY* the developers did not fork existing solutions, *WHY* it was necessary to develop a new RDBMS from scratch, and *HOW* CUBRID Database was evolved over the years.
Database Sharding the Right Way: Easy, Reliable, and Open source - HighLoad++...CUBRID
The presentation the CUBRID team presented at Russian HighLoad++ Conference in October, 2012. The presentation covers the topic of Big Data management through Database Sharding. CUBRID open source RDBMS provides native support for Sharding with load balancing, connection pooling, and auto fail-over features.
This webinar will cover new security features in MongoDB 2.6 including x.509 authentication, user defined roles, collection level access control, enterprise features like LDAP authentication and auditing, and many other SSL features. We will first give a brief overview of security features through MongoDB 2.4 then cover new features in 2.6 and coming releases.
This presentation reveals many important aspects of the CUBRID Database, including its unique features, future roadmap, comparison with other databases, architecture, etc.
Growing in the Wild. The story by CUBRID Database Developers.CUBRID
The presentation the CUBRID team presented at Russian Internet Technologies Conference in 2012. The presentation covers such questions as *WHY* CUBRID was developed, *WHY* the developers did not fork existing solutions, *WHY* it was necessary to develop a new RDBMS from scratch, and *HOW* CUBRID Database was evolved over the years.
Database Sharding the Right Way: Easy, Reliable, and Open source - HighLoad++...CUBRID
The presentation the CUBRID team presented at Russian HighLoad++ Conference in October, 2012. The presentation covers the topic of Big Data management through Database Sharding. CUBRID open source RDBMS provides native support for Sharding with load balancing, connection pooling, and auto fail-over features.
This webinar will cover new security features in MongoDB 2.6 including x.509 authentication, user defined roles, collection level access control, enterprise features like LDAP authentication and auditing, and many other SSL features. We will first give a brief overview of security features through MongoDB 2.4 then cover new features in 2.6 and coming releases.
CQRS and Event Sourcing for Java DevelopersMarkus Eisele
As presented at CJUG. Recording will be up here: http://www.meetup.com/ChicagoJUG/events/231837105/
As soon as an application becomes even moderately complex, CQRS and an Event Sourced architecture start making a lot of sense. The talk is focused on: - the challenges and tactics of separating the write model from the query model in a complex domain - how commands naturally lead to events and to an event based system, and - how events get projected into useful, eventually consistent views. Event Sourcing is one of those things that you really need to push through at the beginning (much like TDD) and that - once understood and internalized, will change the way you architect a system. This talk introduces you to the basic concepts and problem spaces to solve.
Docker Java App with MariaDB – Deployment in Less than a Minutedchq
DCHQ is a deployment automation, life-cycle management & governance platform for Docker-based applications. Developers can model, deploy, backup, update and monitor container-based applications in seconds.
Securing Your Enterprise Web Apps with MongoDB Enterprise MongoDB
Speaker: Jay Runkel, Principal Solution Architect, MongoDB
Level: 200 (Intermediate)
Track: Operations
When architecting a MongoDB application, one of the most difficult questions to answer is how much hardware (number of shards, number of replicas, and server specifications) am I going to need for an application. Similarly, when deploying in the cloud, how do you estimate your monthly AWS, Azure, or GCP costs given a description of a new application? While there isn’t a precise formula for mapping application features (e.g., document structure, schema, query volumes) into servers, there are various strategies you can use to estimate the MongoDB cluster sizing. This presentation will cover the questions you need to ask and describe how to use this information to estimate the required cluster size or cloud deployment cost.
What You Will Learn:
- How to architect a sharded cluster that provides the required computing resources while minimizing hardware or cloud computing costs
- How to use this information to estimate the overall cluster requirements for IOPS, RAM, cores, disk space, etc.
- What you need to know about the application to estimate a cluster size
Security is more critical than ever with new computing environments in the cloud and expanding access to the internet. There are a number of security protection mechanisms available for MongoDB to ensure you have a stable and secure architecture for your deployment. Dave Erickson will walk through general security threats to databases and specifically how they can be mitigated for MongoDB deployments. Rob Moore will then go into depth on the specific topic of setting up and running MongoDB with TLS/SSL and x.509 authentication covering how it works and common errors he's encountered in the field.
In Web hosting services, hosting systems use access controls like suEXEC on apache Web servers to separate privilege by each virtual host. However, existing access control architectures on Web servers have a problem in their low performance and are not appropriate for dynamic contents like Web API since these architectures require termination of the process after each HTTP session. The system developers are not easy to install existing access controls since these are provided by each interpreter and program execution methods conventionally. In this paper, we propose the access control architecture “mod_process_security”. In this architecture a server process creates a new thread on the server process when accepting a request. Then, the web server separates privilege by the thread and processes the contents on the thread. The server process installed “mod_process_security” executes programs faster. System developers can easily install it on web servers since we replace it with the complicated existing access controls. “mod_process_security” can be installed for Apache HTTP Server on Linux as Apache Module which is widely used.
Leonid Vasilyev "Building, deploying and running production code at Dropbox"IT Event
Reproducible builds, fast and safe deployment process together with self-healing services form the basis of stable and maintainable infrastructure. In this talk I’d like to cover, from the Site Reliability Engineering (SRE) perspective, how Dropbox addresses above challenges, what technologies are used and what lessons were learnt during implementation process.
This talk introduces the audience to the challenges of managing distributed cloud native applications with cross-app and service dependencies and need for deployment-specific configuration. The presenters show a service, based on a declarative application model, capable to orchestrate complex deployment processes.
It is demonstrated via concrete examples how this service, positioned as an extension to the platform, brings important added value in the application lifecycle management area and provides the foundation for further innovations.
CUBRID HA - Guaranteed Way to Never-Die Web Services - OSCON 2011CUBRID
CUBRID is an open source relational database management system optimized for Web services (http://www.cubrid.org). It comes with a full-fledged, native and highly reliable HA, CUBRID’s flagship feature. It is the most convenient and hardware independent way of automatically managing fail-over and sync/async/semisync replication. At OSCON we will explain how all these work in CUBRID in a very open way so that you can go and start building your system quickly and more effeciently.
At the presentation you will learn why availability is very important, and why you should stop spending your money for features which are already open source and available for free. We will explain why we, at CUBRID, pay a lot of attention to reliability, though we still guarantee you will get enough TPS.
But CUBRID is not just about HA. It is a full-featured RDBMS having over 90% syntax compatibility with MySQL which makes it really easy to develop upon. Besides, CUBRID comes with its native GUI and command line tools, data management utilities, and APIs. All of them are developed by us, while feature requests and bug reports are filed by our strong and active Korean community comprised of individual, small and large businesses references of Korea. At the OSCON session you will learn why CUBRID is so well suitable for Web services.
Aside from the general features, in order to leverage the enterprise level features in MySQL such as synchronous replication, or online/hot backup, you have to pay a big chunk of your budget to Oracle for commercial license or to third-party developers. Also you have to manually customize them in the way they fit your environment, which is also prone to human errors. With CUBRID, you get all these and even more in a single system at no cost, and the job is automated. We will never ask fees for using CUBRID, as it will always be an open source product. We are already backed by Korea’s #1 IT industry leader – NHN, which is the top 13th Internet Company in the world. At OSCON session we want to meet businesses and leading service providers and share with them how Korean companies could dramatically decrease their TCO by deplying CUBRID.
So stop spending your money. Come and learn about the CUBRID HA.
CQRS and Event Sourcing for Java DevelopersMarkus Eisele
As presented at CJUG. Recording will be up here: http://www.meetup.com/ChicagoJUG/events/231837105/
As soon as an application becomes even moderately complex, CQRS and an Event Sourced architecture start making a lot of sense. The talk is focused on: - the challenges and tactics of separating the write model from the query model in a complex domain - how commands naturally lead to events and to an event based system, and - how events get projected into useful, eventually consistent views. Event Sourcing is one of those things that you really need to push through at the beginning (much like TDD) and that - once understood and internalized, will change the way you architect a system. This talk introduces you to the basic concepts and problem spaces to solve.
Docker Java App with MariaDB – Deployment in Less than a Minutedchq
DCHQ is a deployment automation, life-cycle management & governance platform for Docker-based applications. Developers can model, deploy, backup, update and monitor container-based applications in seconds.
Securing Your Enterprise Web Apps with MongoDB Enterprise MongoDB
Speaker: Jay Runkel, Principal Solution Architect, MongoDB
Level: 200 (Intermediate)
Track: Operations
When architecting a MongoDB application, one of the most difficult questions to answer is how much hardware (number of shards, number of replicas, and server specifications) am I going to need for an application. Similarly, when deploying in the cloud, how do you estimate your monthly AWS, Azure, or GCP costs given a description of a new application? While there isn’t a precise formula for mapping application features (e.g., document structure, schema, query volumes) into servers, there are various strategies you can use to estimate the MongoDB cluster sizing. This presentation will cover the questions you need to ask and describe how to use this information to estimate the required cluster size or cloud deployment cost.
What You Will Learn:
- How to architect a sharded cluster that provides the required computing resources while minimizing hardware or cloud computing costs
- How to use this information to estimate the overall cluster requirements for IOPS, RAM, cores, disk space, etc.
- What you need to know about the application to estimate a cluster size
Security is more critical than ever with new computing environments in the cloud and expanding access to the internet. There are a number of security protection mechanisms available for MongoDB to ensure you have a stable and secure architecture for your deployment. Dave Erickson will walk through general security threats to databases and specifically how they can be mitigated for MongoDB deployments. Rob Moore will then go into depth on the specific topic of setting up and running MongoDB with TLS/SSL and x.509 authentication covering how it works and common errors he's encountered in the field.
In Web hosting services, hosting systems use access controls like suEXEC on apache Web servers to separate privilege by each virtual host. However, existing access control architectures on Web servers have a problem in their low performance and are not appropriate for dynamic contents like Web API since these architectures require termination of the process after each HTTP session. The system developers are not easy to install existing access controls since these are provided by each interpreter and program execution methods conventionally. In this paper, we propose the access control architecture “mod_process_security”. In this architecture a server process creates a new thread on the server process when accepting a request. Then, the web server separates privilege by the thread and processes the contents on the thread. The server process installed “mod_process_security” executes programs faster. System developers can easily install it on web servers since we replace it with the complicated existing access controls. “mod_process_security” can be installed for Apache HTTP Server on Linux as Apache Module which is widely used.
Leonid Vasilyev "Building, deploying and running production code at Dropbox"IT Event
Reproducible builds, fast and safe deployment process together with self-healing services form the basis of stable and maintainable infrastructure. In this talk I’d like to cover, from the Site Reliability Engineering (SRE) perspective, how Dropbox addresses above challenges, what technologies are used and what lessons were learnt during implementation process.
This talk introduces the audience to the challenges of managing distributed cloud native applications with cross-app and service dependencies and need for deployment-specific configuration. The presenters show a service, based on a declarative application model, capable to orchestrate complex deployment processes.
It is demonstrated via concrete examples how this service, positioned as an extension to the platform, brings important added value in the application lifecycle management area and provides the foundation for further innovations.
CUBRID HA - Guaranteed Way to Never-Die Web Services - OSCON 2011CUBRID
CUBRID is an open source relational database management system optimized for Web services (http://www.cubrid.org). It comes with a full-fledged, native and highly reliable HA, CUBRID’s flagship feature. It is the most convenient and hardware independent way of automatically managing fail-over and sync/async/semisync replication. At OSCON we will explain how all these work in CUBRID in a very open way so that you can go and start building your system quickly and more effeciently.
At the presentation you will learn why availability is very important, and why you should stop spending your money for features which are already open source and available for free. We will explain why we, at CUBRID, pay a lot of attention to reliability, though we still guarantee you will get enough TPS.
But CUBRID is not just about HA. It is a full-featured RDBMS having over 90% syntax compatibility with MySQL which makes it really easy to develop upon. Besides, CUBRID comes with its native GUI and command line tools, data management utilities, and APIs. All of them are developed by us, while feature requests and bug reports are filed by our strong and active Korean community comprised of individual, small and large businesses references of Korea. At the OSCON session you will learn why CUBRID is so well suitable for Web services.
Aside from the general features, in order to leverage the enterprise level features in MySQL such as synchronous replication, or online/hot backup, you have to pay a big chunk of your budget to Oracle for commercial license or to third-party developers. Also you have to manually customize them in the way they fit your environment, which is also prone to human errors. With CUBRID, you get all these and even more in a single system at no cost, and the job is automated. We will never ask fees for using CUBRID, as it will always be an open source product. We are already backed by Korea’s #1 IT industry leader – NHN, which is the top 13th Internet Company in the world. At OSCON session we want to meet businesses and leading service providers and share with them how Korean companies could dramatically decrease their TCO by deplying CUBRID.
So stop spending your money. Come and learn about the CUBRID HA.
Installing CUBRID Database and CUBRID Manager on WindowsCUBRID
This presentation explains how to quickly install CUBRID on Windows systems. It also explains how to manage the CUBRID service, how to install CUBRID Manager and how to perform the basic administration tasks.
Liberty Buildpack: Designed for Extension - Integrating your services in Blue...Rohit Kelapure
The Liberty Buildpack aims to remove the hassle of running Java applications on Cloud Foundry whether it is the simplified setup, auto-configuration of Liberty and Java EE references to cloud resources, reduced droplet size through selective provisioning of the runtime, or the zero-touch configuration and usage of services. There are times, however, when an application needs a feature that the buildpack does not yet provide. This talk will start by showing how to use and configure the Java buildpack and finish by showing how to extend the buildpack to ensure that IBM BlueMix Cloud Foundry is the best place to run your application. To build services and integrate them with BlueMix, you must implement the Service Broker API of Cloud Foundry for your services. This talk will explain how to write plugins to the Liberty Buildpack that will auto wire services your organization developed and integrated into CF making it easier for your apps to use the services in Cloud Foundry.
Monorail presentation at WebDevelopersCommunity, Feb 1, 2009ken.egozi
A presentation describing Castle Monorail, the MVC framework for ASP.NET from Castle project.
Given at Microsoft offices in Ra'anana, Israel, on Feb 2nd, 2009, for the Web Developers Community (WDC), by Ken Egozi, project lead of Monorail
Cloud Native Night, April 2018, Mainz: Workshop led by Jörg Schad (@joerg_schad, Technical Community Lead / Developer at Mesosphere)
Join our Meetup: https://www.meetup.com/de-DE/Cloud-Native-Night/
PLEASE NOTE:
During this workshop, Jörg showed many demos and the audience could participate on their laptops. Unfortunately, we can't provide these demos. Nevertheless, Jörg's slides give a deep dive into the topic.
DETAILS ABOUT THE WORKSHOP:
Kubernetes has been one of the topics in 2017 and will probably remain so in 2018. In this hands-on technical workshop you will learn how best to deploy, operate and scale Kubernetes clusters from one to hundreds of nodes using DC/OS. You will learn how to integrate and run Kubernetes alongside traditional applications and fast data services of your choice (e.g. Apache Cassandra, Apache Kafka, Apache Spark, TensorFlow and more) on any infrastructure.
This workshop best suits operators focussed on keeping their apps and services up and running in production and developers focussed on quickly delivering internal and customer facing apps into production.
You will learn how to:
- Introduction to Kubernetes and DC/OS (including the differences between both)
- Deploy Kubernetes on DC/OS in a secure, highly available, and fault-tolerant manner
- Solve operational challenges of running a large/multiple Kubernetes cluster
- One-click deploy big data stateful and stateless services alongside a Kubernetes cluster
Experts Live Switzerland 2017 - Automatisierte Docker Release Pipeline mit VS...Marc Müller
Container Technologien erfreuen sich grosser Beliebtheit und sind mittlerweile auch im Microsoft Entwicklerumfeld angekommen. Visual Studio als Entwicklungswerkzeug bietet neu eine direkte Docker Unterstützung und mit Asp.NET Core respektive .NET Core ist auch die Kompatibilität mit Linux-basierten Docker Containern gegeben. Erfahren Sie in diesem Vortrag, wie sie mit Visual Studio und TFS eine Docker-basierte Build und Release Automatisierung implementieren und betreiben. Mit Azure Container Services haben wir einen skalierbare und ausfallsicheren Cluster zur Verfügung, welcher sich optimal in unsere Release-Pipeline integriert.
What’s new in Rational collaborative lifecycle management 2011?IBM Danmark
Jan Ekstrøm, Rational Solution Architect - What’s new in Rational Collaborative Lifecycle Management 2011?
Præsentationen er fra Jazz Roadshow 2011.
Se mere på: http://www.smarterbusiness.dk
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...UiPathCommunity
💥 Speed, accuracy, and scaling – discover the superpowers of GenAI in action with UiPath Document Understanding and Communications Mining™:
See how to accelerate model training and optimize model performance with active learning
Learn about the latest enhancements to out-of-the-box document processing – with little to no training required
Get an exclusive demo of the new family of UiPath LLMs – GenAI models specialized for processing different types of documents and messages
This is a hands-on session specifically designed for automation developers and AI enthusiasts seeking to enhance their knowledge in leveraging the latest intelligent document processing capabilities offered by UiPath.
Speakers:
👨🏫 Andras Palfi, Senior Product Manager, UiPath
👩🏫 Lenka Dulovicova, Product Program Manager, UiPath
Search and Society: Reimagining Information Access for Radical FuturesBhaskar Mitra
The field of Information retrieval (IR) is currently undergoing a transformative shift, at least partly due to the emerging applications of generative AI to information access. In this talk, we will deliberate on the sociotechnical implications of generative AI for information access. We will argue that there is both a critical necessity and an exciting opportunity for the IR community to re-center our research agendas on societal needs while dismantling the artificial separation between the work on fairness, accountability, transparency, and ethics in IR and the rest of IR research. Instead of adopting a reactionary strategy of trying to mitigate potential social harms from emerging technologies, the community should aim to proactively set the research agenda for the kinds of systems we should build inspired by diverse explicitly stated sociotechnical imaginaries. The sociotechnical imaginaries that underpin the design and development of information access technologies needs to be explicitly articulated, and we need to develop theories of change in context of these diverse perspectives. Our guiding future imaginaries must be informed by other academic fields, such as democratic theory and critical theory, and should be co-developed with social science scholars, legal scholars, civil rights and social justice activists, and artists, among others.
"Impact of front-end architecture on development cost", Viktor TurskyiFwdays
I have heard many times that architecture is not important for the front-end. Also, many times I have seen how developers implement features on the front-end just following the standard rules for a framework and think that this is enough to successfully launch the project, and then the project fails. How to prevent this and what approach to choose? I have launched dozens of complex projects and during the talk we will analyze which approaches have worked for me and which have not.
Essentials of Automations: Optimizing FME Workflows with ParametersSafe Software
Are you looking to streamline your workflows and boost your projects’ efficiency? Do you find yourself searching for ways to add flexibility and control over your FME workflows? If so, you’re in the right place.
Join us for an insightful dive into the world of FME parameters, a critical element in optimizing workflow efficiency. This webinar marks the beginning of our three-part “Essentials of Automation” series. This first webinar is designed to equip you with the knowledge and skills to utilize parameters effectively: enhancing the flexibility, maintainability, and user control of your FME projects.
Here’s what you’ll gain:
- Essentials of FME Parameters: Understand the pivotal role of parameters, including Reader/Writer, Transformer, User, and FME Flow categories. Discover how they are the key to unlocking automation and optimization within your workflows.
- Practical Applications in FME Form: Delve into key user parameter types including choice, connections, and file URLs. Allow users to control how a workflow runs, making your workflows more reusable. Learn to import values and deliver the best user experience for your workflows while enhancing accuracy.
- Optimization Strategies in FME Flow: Explore the creation and strategic deployment of parameters in FME Flow, including the use of deployment and geometry parameters, to maximize workflow efficiency.
- Pro Tips for Success: Gain insights on parameterizing connections and leveraging new features like Conditional Visibility for clarity and simplicity.
We’ll wrap up with a glimpse into future webinars, followed by a Q&A session to address your specific questions surrounding this topic.
Don’t miss this opportunity to elevate your FME expertise and drive your projects to new heights of efficiency.
Let's dive deeper into the world of ODC! Ricardo Alves (OutSystems) will join us to tell all about the new Data Fabric. After that, Sezen de Bruijn (OutSystems) will get into the details on how to best design a sturdy architecture within ODC.
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Tobias Schneck
As AI technology is pushing into IT I was wondering myself, as an “infrastructure container kubernetes guy”, how get this fancy AI technology get managed from an infrastructure operational view? Is it possible to apply our lovely cloud native principals as well? What benefit’s both technologies could bring to each other?
Let me take this questions and provide you a short journey through existing deployment models and use cases for AI software. On practical examples, we discuss what cloud/on-premise strategy we may need for applying it to our own infrastructure to get it to work from an enterprise perspective. I want to give an overview about infrastructure requirements and technologies, what could be beneficial or limiting your AI use cases in an enterprise environment. An interactive Demo will give you some insides, what approaches I got already working for real.
State of ICS and IoT Cyber Threat Landscape Report 2024 previewPrayukth K V
The IoT and OT threat landscape report has been prepared by the Threat Research Team at Sectrio using data from Sectrio, cyber threat intelligence farming facilities spread across over 85 cities around the world. In addition, Sectrio also runs AI-based advanced threat and payload engagement facilities that serve as sinks to attract and engage sophisticated threat actors, and newer malware including new variants and latent threats that are at an earlier stage of development.
The latest edition of the OT/ICS and IoT security Threat Landscape Report 2024 also covers:
State of global ICS asset and network exposure
Sectoral targets and attacks as well as the cost of ransom
Global APT activity, AI usage, actor and tactic profiles, and implications
Rise in volumes of AI-powered cyberattacks
Major cyber events in 2024
Malware and malicious payload trends
Cyberattack types and targets
Vulnerability exploit attempts on CVEs
Attacks on counties – USA
Expansion of bot farms – how, where, and why
In-depth analysis of the cyber threat landscape across North America, South America, Europe, APAC, and the Middle East
Why are attacks on smart factories rising?
Cyber risk predictions
Axis of attacks – Europe
Systemic attacks in the Middle East
Download the full report from here:
https://sectrio.com/resources/ot-threat-landscape-reports/sectrio-releases-ot-ics-and-iot-security-threat-landscape-report-2024/
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualityInflectra
In this insightful webinar, Inflectra explores how artificial intelligence (AI) is transforming software development and testing. Discover how AI-powered tools are revolutionizing every stage of the software development lifecycle (SDLC), from design and prototyping to testing, deployment, and monitoring.
Learn about:
• The Future of Testing: How AI is shifting testing towards verification, analysis, and higher-level skills, while reducing repetitive tasks.
• Test Automation: How AI-powered test case generation, optimization, and self-healing tests are making testing more efficient and effective.
• Visual Testing: Explore the emerging capabilities of AI in visual testing and how it's set to revolutionize UI verification.
• Inflectra's AI Solutions: See demonstrations of Inflectra's cutting-edge AI tools like the ChatGPT plugin and Azure Open AI platform, designed to streamline your testing process.
Whether you're a developer, tester, or QA professional, this webinar will give you valuable insights into how AI is shaping the future of software delivery.
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
JMeter webinar - integration with InfluxDB and GrafanaRTTS
Watch this recorded webinar about real-time monitoring of application performance. See how to integrate Apache JMeter, the open-source leader in performance testing, with InfluxDB, the open-source time-series database, and Grafana, the open-source analytics and visualization application.
In this webinar, we will review the benefits of leveraging InfluxDB and Grafana when executing load tests and demonstrate how these tools are used to visualize performance metrics.
Length: 30 minutes
Session Overview
-------------------------------------------
During this webinar, we will cover the following topics while demonstrating the integrations of JMeter, InfluxDB and Grafana:
- What out-of-the-box solutions are available for real-time monitoring JMeter tests?
- What are the benefits of integrating InfluxDB and Grafana into the load testing stack?
- Which features are provided by Grafana?
- Demonstration of InfluxDB and Grafana using a practice web application
To view the webinar recording, go to:
https://www.rttsweb.com/jmeter-integration-webinar
2. 저작권 Copyright Notice CREATIVE COMMONS 저작자표시-동일조건변경허락 2.0 대한민국 이용자는 아래의 조건을 따르는 경우에 한하여 자유롭게 이 저작물을 복제, 배포, 전송, 전시, 공연 및 방송할 수 있습니다. 이차적 저작물을 작성할 수 있습니다. 다음과 같은 조건을 따라야 합니다: 저작자표시. 귀하는 원저작자를 표시하여야 합니다. What does "Attribute this work" mean? The page you came from contained embedded licensing metadata, including how the creator wishes to be attributed for re-use. You can use the HTML here to cite the work. Doing so will also include metadata on your page so that others can find the original work as well. 동일조건변경허락. 귀하가 이 저작물을 개작, 변형 또는 가공했을 경우에는, 이 저작물과 동일한 이용허락조건하에서만 배포할 수 있습니다. 귀하는, 이 저작물의 재이용이나 배포의 경우, 이 저작물에 적용된 이용허락조건을 명확하게 나타내어야 합니다. 저작권자로부터 별도의 허가를 받으면 이러한 조건들은 적용되지 않습니다. Nothing in this license impairs or restricts the author's moral rights. CREATIVE COMMONS Attribution-Share Alike 2.0 Korea You are free: to Share — to copy, distribute and transmit the work to Remix — to adapt the work Under the following conditions: Attribution. You must attribute the work in the manner specified by the author or licensor (but not in any way that suggests that they endorse you or your use of the work). What does "Attribute this work" mean? The page you came from contained embedded licensing metadata, including how the creator wishes to be attributed for re-use. You can use the HTML here to cite the work. Doing so will also include metadata on your page so that others can find the original work as well. Share Alike. If you alter, transform, or build upon this work, you may distribute the resulting work only under the same or similar license to this one. For any reuse or distribution, you must make clear to others the license terms of this work. The best way to do this is with a link to this web page. Any of the above conditions can be waived if you get permission from the copyright holder. Nothing in this license impairs or restricts the author's moral rights. http://creativecommons.org/licenses/by-sa/2.0/kr/ Copyright 2009 Search Solution Corporation. All Rights Reserved.
4. Contents System Architecture and Processes Design & Implementation Concepts Module and Source Structure In The Next CUBRID Inside 4/ 41 First Look Inside CUBRID
9. System Architecture and ProcessesWhat is CUBRID? CUBRID is Open Source DBMS owned and developed by NHN Hosted at nForge site Targeted to a database platform for Internet portal service Relational database system with object extensions – Object-Relational Model 1,000,000 line of source code scaled project Engine – C/C++, CUBRID Manager (GUI) and JDBC driver – Java CUBRID provides Full-featured database server engine Server and Broker architecture GUI management and query tool CUBRID Manager Various API (JDBC, ODBC(OLE DB), PHP, and CCI) Python and Ruby as contributed projects 1.1 6/ 41 First Look Inside CUBRID
10. System Architecture and ProcessesSystem Architecture 1.2 Server Subsystem Multi-threaded storage engine part which runs as DB server Consists of Transaction Manager, Object Manager, Lock Manager, Query Manager, Log Manager, and Storage Manager Client Subsystem Client library part providing native C API Consists of Query Parser & Optimizer, Object & Lock Cache, Transaction Manager and Object Manager Broker Subsystem Linked with client library and implemented CCI protocol Does job queuing, connection pooling, monitoring and logging Connectors JDBC driver CCI library Many drivers are implemented with CCI library – ODBC, OLEDB, PHP, Python, and Ruby 7/ 41 First Look Inside CUBRID
11. System Architecture and ProcessesSystem Architecture 1.2 CUBRID Manager GUI Interface PHP OLE DB Ruby CUBRID Manager JDBC ODBC CCI Python CM Server Job Queuing Monitoring Connection Pooling Logging Admin Utility Broker Create, Delete, Copy, Rename Query Parser & Optimizer Lock Cache Object Manager Transaction Manager Add Volume Load / Unload Backup / Restore Query Manager Lock Manager Server Compact / Optimize Storage Manager Log Manager Check / Diag Active Log File Based Objects Data Volume Index Volume Temp Volume Archive Log 8/ 41 First Look Inside CUBRID
12. 1.2 CUBRID Manager GUI Interface PHP OLE DB Ruby CUBRID Manager JDBC ODBC CCI Python CM Server Create, Delete, Copy, Rename Job Queuing Monitoring Connection Pooling Logging Admin Utility Broker Client Library Add Volume Native C API Parser Object Manager Schema Manager Transaction Manager Load / Unload Query Transform Workspace Manager Backup / Restore Query Optimizer Memory Manager Compact / Optimize Plan Generation Check / Diag Communication Module Storage Engine Server Communication Module Transaction Manager Log Manager Lock Manager Query Manager Access Method B+Tree Module File Manager System Catalog Module System Architecture Buffer Manager Disk Manager Active Log File Based Objects Data Volume Index Volume Temp Volume Archive Log 9/ 41 First Look Inside CUBRID
13. System Architecture and ProcessesCUBRID Processes and IPC Master Process ‘cub_master’ Daemon process listening on the TCP port for clients’ connection csql, broker, and admin utilities Registrar of server processes using Unix Domain Socket Server Process ‘cub_server’ Multi-threaded process serving clients’ requests Has thread pool and job queue Accesses database volume and log files One server process per one database Broker Process ‘cub_broker’ Daemon process listening on the TCP port for connectors’ connection Controls cub_cas processes (fork/kill) with connection queue CAS Process ‘cub_cas’ Connects to the server process in behalf of connectors According to the database and user name CSQL Program ‘csql’ Interactive SQL execution 1.3 10/ 41 First Look Inside CUBRID
14. System Architecture and ProcessesCUBRID Processes and IPC 1.3 JDBC driver CCI library connect query & result query & result port listening cub_broker cubrid_broker.conf fork parse descriptor pass AP Web Server cub_cas cub_cas shared memory cubridcs.so cubridcs.so csql connect cubridcs.so request & response request & response parse Broker TCP job queue multi-thread port listening descriptor pass parse cub_master cub_server cubrid.so cubrid.conf UDS Active Server Standby Server mount (read/write) read register volume file log file databases.txt volume file log file Replication cub_admin cubridsa.so 11/ 41 First Look Inside CUBRID
15. System Architecture and ProcessesQuery Processing Workflow 1.4 12/ 41 First Look Inside CUBRID
16. System Architecture and ProcessesQuery Processing Workflow 1.4 XASL Type UNION Extended Access Spec Language (XASL) DIFFERENCE INTERSECTION OBJFETCH Query Manager TransactionManager Lock Manager SETFETCH BUILD_LIST BUILD_VALUE Query Result Cache Query Plan Cache Query Evaluator (Interpreter) SCAN MERGE_LIST Scan Management READ UPDATE Storage Manager DELETE INSERT 13/ 41 First Look Inside CUBRID
31. Design & Implementation ConceptsHeap, B+tree, Catalog, and Temp 2.7 21/ 41 First Look Inside CUBRID
32. Design & Implementation ConceptsClick Counter In Terms of User Whenever the user clicks an article, the read counter of the article is increased. Counts the clicks on the article In Terms of Service Application Developer The read counter is very important for bulletin board type service. Combine getting article data and increasing read counter together get_article() + increase_counter() = get_article_and_increase_counter() (SELECT article_info) + (UPDATE read_counter+1) In Terms of Database Engineer Do SELECT and UPDATE in one SQL statement SELECT trigger? SELECT FOR UDPATE? UPDATE the record with the short term lock Example SELECT doc_id, title, INCR(read_counter), post_date FROM board WHERE doc_id=? 2.8 22/ 41 First Look Inside CUBRID
33. Design & Implementation ConceptsClick Counter 2.8 Don’t walk the same passage twice! When you get there, do as many things as possible. Killing two birds with one stone. 23/ 41 First Look Inside CUBRID
43. Module and Source StructureOverall Structure 41 First Look Inside CUBRID 25/ 3.1 C API Transaction Management Common & Support Broker Job & Thread Management CCI Library Server Storage Management CUBRID Manager Query Processing Client-Server Comm PHP Connector Query Processing Native C API Query Processing Job & Thread Management Utilities Object Management Memory Manager JDBC Driver Client Storage Management Java Stored Procedure
44. 41 First Look Inside CUBRID 26/ Module and Source Structure 3.1 src/ broker CUBRID Manager GUI PHP OLE DB Ruby JDBC ODBC CCI Python CM Server src/ query src/ storage src/ transaction src/ compat Create, Delete, Copy, Rename Job Queuing Monitoring Connection Pooling Logging Client Library Add Volume Native C API Parser Object Manager Schema Manager Transaction Manager Load / Unload Query Transform Workspace Manager Backup / Restore Query Optimizer Memory Manager Compact / Optimize Plan Generation Check / Diag Communication Module src/ cmserver src/ communication src/ jdbc src/ object src/ oledb src/ php src/ cci src/ odbc src/ optimizer src/ base src/ executables src/ heaplayers src/ parser src/ thread src/ connection Storage Engine Communication Module Transaction Manager Log Manager Lock Manager Query Manager Access Method B+Tree Module File Manager System Catalog Module Buffer Manager Disk Manager
45. Module and Source StructureQuery Processing Component Scanner/Parser Parses query string and builds parse tree Uses ANTLR v1.x as parser generator Will be replaced with ‘bison’ at R2.0 Source files in src/parser Data structure: PT_PARSER, PT_NODE, … Semantic Checker Type check and binding, name resolution, semantic checking, view translation, and so on Source files in src/parser Parse tree traversing function: parser_walk_tree() Optimizer Rewrite optimization by heuristic rules Select a query execution plan by CBO (Cost Based Optimization) method Source files in src/parser and src/optimizer Data structure: QO_NODE, QO_PLANNER, … XASL Generator Generate XASL tree from the query execution plan XASL contains scan information (heap/index/list file/set/method scan), value list, and predicates Source files in src/parser Data structure: XASL_NODE, REGU_VARIABLE, … Query Manager (Executor) Executes XASL tree (XASL interpreter) Includes query evaluator, query plan cache, query result cache, query result file, and scan management Source files in src/query Main function: qexec_execute_mainblock() Cursor Manager Extracts tuple from the list file page shipped from the server Query Manager Source files in src/query 3.2 27/ 41 First Look Inside CUBRID
46. Module and Source StructureQuery Processing Component 3.2 Object Management Component Broker Semantic Checker Scanner/Parser Optimizer XASL Generator Cursor Manager Client-Server Communication Layer Client-Server Communication Layer Server Query Plan/Result Cache Query Manager Transaction Management Component Query Evaluator (Interpreter) Storage Management Component (Server) Scan Management 28/ 41 First Look Inside CUBRID
47. Module and Source StructureTransaction Management Component Transaction Manager Controls transaction – start, commit/abort, savepoint, and top operation Works tightly with lock and log manager Supports 2PC protocol for global transaction Initialize other related modules such as lock, log, and recovery manager Source files in src/transaction Data structure: LOG_TDES, TRANTABLE, … Object Locator Controls the flow of objects between the workspaces and the database pages Translates between memory representation and disk representation Caches objects from the server into the workspace with the granted locks Cached object and lock provides fast access to the objects and reduces interacting with the lock manager on the server Source files in src/transaction Lock Manager Based on strict 2PL protocol Includes support for OR feature class lock and instance lock Deadlock detector with WFG As separate thread Source files in src/transaction Data structure: LK_ENTRY, LK_TRAN_LOCK, … Log Manager Transaction logging and recovering REDO/UNDO recovery protocol WAL protocol Physical logging and logical logging Supports group commit and asynchronous commit feature Source files in src/transaciton Data structure: LOG_GLOBAL, LOG_HDRPAGE, LOG_PAGE, 3.3 29/ 41 First Look Inside CUBRID
48. Module and Source StructureTransaction Management Component 3.3 Storage Management Component (Client) Object Management Component Transaction Manager (Client) Broker Object Locator (Client) Client-Server Communication Layer Client-Server Communication Layer Server Object Locator (Server) Lock Manager Transaction Manager (Server) Storage Management Component (Server) Log Manager 30/ 41 First Look Inside CUBRID
49. Module and Source StructureServer Storage Management Component File I/O Manager Provides disk I/O access functions and implements file structure Coordinates the allocation and deallocation of unstructured files and pages File>Sector>Page File manager requests sectors from the disk manager Source files in src/storage Identifier: vdes, PAGEID Disk Manager Volume file management – implements volume structure in a OS file A volume corresponds to a singe file A set of contiguous pages of fixed size Source files in src/storage Identifier: volid Page Buffer Manager Data buffer pool with LRU replacement algorithm Uses buffer hash table and fix/unfix protocol (latch) Source files in src/storage Identifier: VPID Data structure: PGBUF_BUFFER_POOL Slotted Page Manager Manages insertions, deletions, and modifications of records on pages Each record has an associated slot identifier Source files in src/storage OID = (pageid, slotid, volid) Overflow File Manager Larger object than the size of a page is placed on overflow pages Source files in src/storage Object Heap Manager Inserts/deletes/updates objects within a file Permanent unchangeable OID is assigned to an object when it is stored on a heap Provides heap scan method (sequential scan) and direct fetch method An object heap holds the instances of one class Source files in src/storage Identifier: HFID B+-tree Manager Implements prefix B+-tree index with KVL Provides index scan method – unique find and range search 3.4 31/ 41 First Look Inside CUBRID
50. Module and Source StructureServer Storage Management Component 3.4 Broker Client-Server Communication Layer Client-Server Communication Layer Server Query Processing Component (Server) Transaction Management Component (Server) Object Heap Manager B+-tree Manager Large Object Manager Extendible Hash Manager File Manager Slotted Page Manager Overflow File Manager Page Buffer Manager Catalog Manager Disk Manager I/O Manager 32/ 41 First Look Inside CUBRID
51. Module and Source StructureClient Storage Management Component Workspace Manager Maintains a cache of database objects within the virtual memory address space of client process Maintains hash table that maps a OID into MOP MOP has OID field and a pointer to memory object Source files in src/object Quick Fit Allocator Memory manager for workspace Source files in src/object, src/base Garbage Collector To collect and free the unused(dangled) memory objects Normally GC is disabled Object and Lock Caching When the contents of object(s) is(are) required, the object locator is called to fetch the object(s) from the database via the server-side object locator The object locator translate the disk representation of the objet into the memory representation and allocates MOP to points it While accessing the object in the database, the requested lock is held by the lock manager in the server and the memory object has the cached lock mode The cached objects can be decached at any time when its state is not consistent with the disk objects, or will be decached at the time of transaction abort At the time of transaction commit, only the cached locks are released; objects remains with null lock 3.5 33/ 41 First Look Inside CUBRID
52. Module and Source StructureClient Storage Management Component 3.5 Object Management Component Broker Garbage Collector Quick File Allocator Workspace Manager Transaction Management Component Object Locator (Client) Client-Server Communication Layer Client-Server Communication Layer Server 34/ 41 First Look Inside CUBRID
53. Module and Source StructureObject Management Component Object Accessor Interface for object creation, deletion, inspection, and modification Source files in src/object Object Representation Transforms (or translates) between the disk representation and the memory representation of the object Resolves byte ordering also Source files in src/object, src/base Functions: or_xxx(), tf_mem_to_disk(), tf_disk_to_mem(), … Data Type and Domain Internal data structure for data type and domain Source files in src/object Data structure: TP_DOMAIN Sets Source files in src/object Data structure: SETOBJ, COL Schema Manager Implements OR model regarding database schema Definitions of the class object – attributes, method, class inheritance, and conflict resolution Memory representation of class object Source files in src/objet Data structure: SM_CLASS, SM_ATTRIBUTE, … Authentication and Authorization User authentication and database privilege User, GRANT, REVOKE, … Source files in src/object Trigger Manager Implements trigger feature Source files src/object Dynamic Loader Support dynamic loading of shared object as ‘method’ Depreciated feature Large Object Implements glo, elo, fbo classes and supporting methods Source files in src/object 3.6 35/ 41 First Look Inside CUBRID
54. Module and Source StructureObject Management Component 3.6 Object Accessor Broker Schema Manager Authentication & Authorization Trigger Manager Set Dynamic Loader Data Type and Domain Object Representation Storage Management Component (Client) Client-Server Communication Layer Client-Server Communication Layer Server 36/ 41 First Look Inside CUBRID
55. Module and Source StructureJob and Thread Management Component Connection Manager Connection establishment and management and request handler Source files in src/communication, src/connection Data structure: CSS_QUEUE_ENTRY, CSS_CONN_ENTRY, … Job Queue Master thread monitors socket fds (select()), receives clients’ request packet, en-queues it, and then wake up a worker thread in the thread pool Source files in src/connection Data structure: CSS_JOB_ENTRY, … Critical Section Implements semaphore Source files in src/thread System Threads Master thread Deadlock detection thread Run deadlock detection algorithm periodically Resolves deadlock by aborting unilaterally victim transaction(s) Checkpoint thread Executes periodic checkpoint action OOB handling thread Catch OOB signal Page flush thread Flushes dirty data buffer pages to the volume files in the background To reduce burden of page replacement Log flush thread Flushes dirty log buffer pages to the log file in the background Implements group commit and asynchronous commit features Source files in src/thread 3.7 37/ 41 First Look Inside CUBRID
56. Module and Source StructureClient-Server Communication Layer Socket Transceiver Socket utility functions TCP/IP, Unix domain socket, and named pipe Source files in src/connection Linux and Windows port Packet Handler Sends requests and receives response between client and server Packet types: request packet, data packet, close packet, out-of-band packet, error packet, abort packet Packet format: packet header + payload Queuing request and data packets Source files in src/connection Communication Interface Layer RPC stub style functions Implements object serialization Source files in src/communication 3.8 38/ 41 First Look Inside CUBRID
57. Module and Source StructureBroker Component Broker Process Accepts connection requests from the Connectors (JDBC, CCI, …) Allocates and/or assigns CAS process to the request Controls and monitors CAS processes Has four threads main: manages cas process receiver_thread: does accept() and enqueues new job dispatch_thread: dequeue job and assigns cas process cas_monitor_thread: monitors cas process to restart Source files in src/broker CAS Process Linked with CUBRID client library So, run as a single thread Receives and processes requests from the application(Connectors) Connect to database Prepare and execute query Fetch the result Commit/rollback transaction Get/set parameters Has four states IDLE: not connected with AP BUSY: processing request CLIENT_WAIT: connected and waiting for request; within a transaction CLOSE_WAIT: connected and waiting for request; out of a transaction Source files in src/broker 3.9 39/ 41 First Look Inside CUBRID
58. In The Next CUBRID Inside 4 40/ 41 First Look Inside CUBRID
59. In The Next CUBRID Inside 4 What topic do you want to see covered in the next CUBRID Inside? Suggesting Topics 41/ 41 First Look Inside CUBRID