This document provides an overview of Dynamo, Amazon's highly available key-value store. It discusses that Dynamo sacrifices strong consistency for availability and uses an eventually consistent model. Dynamo uses consistent hashing to partition and replicate data across nodes, and employs data versioning to resolve conflicts from concurrent updates. The system architecture of Dynamo includes components for data partitioning, replication, versioning, APIs, and membership management.
(SDD407) Amazon DynamoDB: Data Modeling and Scaling Best Practices | AWS re:I...Amazon Web Services
Amazon DynamoDB is a fully managed, highly scalable distributed database service. In this technical talk, we show you how to use DynamoDB to build high-scale applications like social gaming, chat, and voting. We show you how to use building blocks such as secondary indexes, conditional writes, consistent reads, and batch operations to build the higher-level functionality such as multi-item atomic writes and join queries. We also discuss best practices such as index projections, item sharding, and parallel scan for maximum scalability.
How to maximize the value of Big Data with SpagoBI suite through a comprehens...OW2
The vastness and variety of the Big Data landscape requires a new explorative paradigm to analyze data and extract new value from information. The speech describes the approach adopted by SpagoBI suite to manage large volumes of heterogeneous structured and unstructured data, to perform real-time Business Intelligence on Big Data streaming and to give meaning to data through the semantic analysis. SpagoBI supplies meaningful data insights through the main concept of persistable and schedulable datasets, and using tools such as self-service BI, ad-hoc reporting, interactive dashboards and explorative analysis.
OW2con'14 - Sustainable financing of open source, an insider view, XWikiOW2
Free Software/Open Source code is by definition Free, but writing it requires heavy competencies. There are many ways (Business Models) to finance these developments. Some of them include mixing Open Source code with Proprietary code. Regularly developers that started with Open Source, move to proprietary or Open Core business models. Based on 10 years of experience in producing Open Source Code with the company XWiki SAS, and on analysis on how other companies have evolved their business models and how it impacted their open source contributions, this talk proposes to review these methods in the light of the sustainable financing of Open Source Code: in which ways can one write FLOSS code for the long term. What are good practices from all participants to the FLOSS eco-system which can lead to more Open Source code production and better Open Source products.
OW2con'16 Keynote address: Kubernetes, the rising tide of systems administrat...OW2
Kubernetes, the rising tide of systems administration Containers and cloud have moved from "why" to "how and when?" Learn how Google is helping the world go Cloud Native.
CompatibleOne Multi PaaS Provisioning, Sami Yangui & Mohamed Mohamed, Institu...OW2
The study we have conducted of existing cloud platforms shows that their operating requires the use of specific and proprietary APIs. This PaaS providers’ policy is hampering the interactions between different clouds. If appropriate solutions are not considered, this issue would for instance slow down the democratization of clouds federation and cooperation. As a part of our work, we developed a generic PaaS application provisioning and management API (called COAPS API). Our proposed solution applies the separation of concerns principle by separating the provisioning and the management API from the defined description model.
(SDD407) Amazon DynamoDB: Data Modeling and Scaling Best Practices | AWS re:I...Amazon Web Services
Amazon DynamoDB is a fully managed, highly scalable distributed database service. In this technical talk, we show you how to use DynamoDB to build high-scale applications like social gaming, chat, and voting. We show you how to use building blocks such as secondary indexes, conditional writes, consistent reads, and batch operations to build the higher-level functionality such as multi-item atomic writes and join queries. We also discuss best practices such as index projections, item sharding, and parallel scan for maximum scalability.
How to maximize the value of Big Data with SpagoBI suite through a comprehens...OW2
The vastness and variety of the Big Data landscape requires a new explorative paradigm to analyze data and extract new value from information. The speech describes the approach adopted by SpagoBI suite to manage large volumes of heterogeneous structured and unstructured data, to perform real-time Business Intelligence on Big Data streaming and to give meaning to data through the semantic analysis. SpagoBI supplies meaningful data insights through the main concept of persistable and schedulable datasets, and using tools such as self-service BI, ad-hoc reporting, interactive dashboards and explorative analysis.
OW2con'14 - Sustainable financing of open source, an insider view, XWikiOW2
Free Software/Open Source code is by definition Free, but writing it requires heavy competencies. There are many ways (Business Models) to finance these developments. Some of them include mixing Open Source code with Proprietary code. Regularly developers that started with Open Source, move to proprietary or Open Core business models. Based on 10 years of experience in producing Open Source Code with the company XWiki SAS, and on analysis on how other companies have evolved their business models and how it impacted their open source contributions, this talk proposes to review these methods in the light of the sustainable financing of Open Source Code: in which ways can one write FLOSS code for the long term. What are good practices from all participants to the FLOSS eco-system which can lead to more Open Source code production and better Open Source products.
OW2con'16 Keynote address: Kubernetes, the rising tide of systems administrat...OW2
Kubernetes, the rising tide of systems administration Containers and cloud have moved from "why" to "how and when?" Learn how Google is helping the world go Cloud Native.
CompatibleOne Multi PaaS Provisioning, Sami Yangui & Mohamed Mohamed, Institu...OW2
The study we have conducted of existing cloud platforms shows that their operating requires the use of specific and proprietary APIs. This PaaS providers’ policy is hampering the interactions between different clouds. If appropriate solutions are not considered, this issue would for instance slow down the democratization of clouds federation and cooperation. As a part of our work, we developed a generic PaaS application provisioning and management API (called COAPS API). Our proposed solution applies the separation of concerns principle by separating the provisioning and the management API from the defined description model.
OpenPaas Collaboration Platform. OW2con'15, November 17, Paris. OW2
This talk will be about OpenPaas, an open source collaboration platform built by Linagora which provides a complete solution for emails, agenda and contacts management as well as some nice enterprise social network features such as user communities... I will tell you about the progress we made during the past year, but also the technical challenges we faced and what we did to work around them. I'll then talk about the exciting technologies we're using in the product and how we integrate them to provide a rich experience to our users. The last part of the presentation will be focused on some nice side-projects we have at Linagora, most notably an EcmaScript 6 JMAP client library we're developping.
„Jak jej to powiedzieć?” to projekt edukacyjny, realizowany przez markę Rexona, którego celem było zwrócenie uwagi na wstydliwy problem pocenia się i społeczne tabu z nim związane. W trakcie kampanii pokazano i uświadomiono Polkom, jak ważna jest codzienna higiena.
Do tej pory w Polsce nie prowadzono tak szeroko zakrojonej komunikacji w tym zakresie. Kampania Jak jej to powiedzieć wywołała bardzo burzliwą dyskusję nie tylko w mediach, ale również wśród Polek. Projekt wzbudził wiele kontrowersji i cieszył się bardzo dużym zainteresowaniem mediów – łącznie pojawiło się około 440 publikacji w mediach, a liczba impresji w prasie wyniosła ok. 35 000 000. Jednocześnie akcja wywołała na forach internetowych bardzo szeroką dyskusję wśród użytkowników, którzy zostawili ok. 2 500 komentarzy.
ACCEDE WEB, LES GUIDES D’ACCESSIBILITE POUR PROJETS WEB OW2
La série de guides AcceDe Web fournit de bonnes pratiques aux divers contributeurs du projet Web, y compris les développeurs et les concepteurs graphiques. Ces documents sont fondés sur l’expérience de plusieurs familles d’experts travaillant au sein d’agences web, d’entreprises privées, de collectivités publiques et d’associations. Ils procurent des instructions pas à pas aux équipes opérationnelles et des outils de management précieux aux chefs de projets.
Visita al Palacio de Gobierno del Ecuador en la ciudad de Quito el dia 28 de septiembre del 2010 a dos dias de la insurgencia de la Tropa de la Policia del Ecuador.
Pedro Camino
OW2con'14 - OpenCloudware: The vApp Lifecycle Management Solution for Multi-C...OW2
The main way to “go cloud” has proved to be, for security and economic reasons, hybrid : mixing private with public. Moving to Cloud PaaS is then requires to: manage the lifecycle of applications over different cloud providers; mask the heterogeneity; automate the deployment whatever the application technology and execution environment are, etc. This is what tackles OpenCloudware, which aims at enabling flexible multi-cloud applications thanks to a full automated think-build-run chain.
In the presentation we present a sample from OpenCloudware results demonstrating in particular a complete mechanism, comprising: application selection, deployment, benchmarking. OpenCloudware supports many IaaS infrasctructures, including OpenStack (via OW2stack). OpenCloudware is supported by the French administration through its IT support program "Fond National pour la Société Numérique".
Our Air Hockey Game project will be based on these trends, making a simple air hockey game in web platform. This game will be remote controlled using user’s own smart devices such as Galaxy or iPhone and they can see their game play view through web pages in their laptop or PC.
OW2con'14 - How to best manage your community of users? The example of Bonit...OW2
A lot of SaaS solution are available on the Internet to manage knowledge: Questions & Answers, Forums, Wikis, and many more. I will explain the interest of gathering this knowledge in one place. Many advantages: - knowing what users do with your product/software - create quality content to help them - integrate their account with your SSO and CRM.
Self Service BI with SpagoBI 4, Virginie Pasquon, Engineering Group.OW2
Self Service BI allows business users to access and work with information without the IT deparment's involvement. This does not only concern enterprise data but also private and unstructured data, stored on the final user's devices. SpagoBI 4 extends the support of Self Service BI scenarios from the agile development of analytical documents beyond enterprise boundaries bringing it to into the Open Data and the private domain as well. The Self Service by functionality is presented in the context of a full revision of the SpagoBI user interface towards an intuitive and appealing experience.
NoSQL Application Development with JSON and MapR-DBMapR Technologies
NoSQL databases are being used everywhere by startups and Global 2000 companies alike for data environments that require cost-effective scaling. These environments also typically need to represent data in a more flexible way than is practical with relational databases.
OpenPaas Collaboration Platform. OW2con'15, November 17, Paris. OW2
This talk will be about OpenPaas, an open source collaboration platform built by Linagora which provides a complete solution for emails, agenda and contacts management as well as some nice enterprise social network features such as user communities... I will tell you about the progress we made during the past year, but also the technical challenges we faced and what we did to work around them. I'll then talk about the exciting technologies we're using in the product and how we integrate them to provide a rich experience to our users. The last part of the presentation will be focused on some nice side-projects we have at Linagora, most notably an EcmaScript 6 JMAP client library we're developping.
„Jak jej to powiedzieć?” to projekt edukacyjny, realizowany przez markę Rexona, którego celem było zwrócenie uwagi na wstydliwy problem pocenia się i społeczne tabu z nim związane. W trakcie kampanii pokazano i uświadomiono Polkom, jak ważna jest codzienna higiena.
Do tej pory w Polsce nie prowadzono tak szeroko zakrojonej komunikacji w tym zakresie. Kampania Jak jej to powiedzieć wywołała bardzo burzliwą dyskusję nie tylko w mediach, ale również wśród Polek. Projekt wzbudził wiele kontrowersji i cieszył się bardzo dużym zainteresowaniem mediów – łącznie pojawiło się około 440 publikacji w mediach, a liczba impresji w prasie wyniosła ok. 35 000 000. Jednocześnie akcja wywołała na forach internetowych bardzo szeroką dyskusję wśród użytkowników, którzy zostawili ok. 2 500 komentarzy.
ACCEDE WEB, LES GUIDES D’ACCESSIBILITE POUR PROJETS WEB OW2
La série de guides AcceDe Web fournit de bonnes pratiques aux divers contributeurs du projet Web, y compris les développeurs et les concepteurs graphiques. Ces documents sont fondés sur l’expérience de plusieurs familles d’experts travaillant au sein d’agences web, d’entreprises privées, de collectivités publiques et d’associations. Ils procurent des instructions pas à pas aux équipes opérationnelles et des outils de management précieux aux chefs de projets.
Visita al Palacio de Gobierno del Ecuador en la ciudad de Quito el dia 28 de septiembre del 2010 a dos dias de la insurgencia de la Tropa de la Policia del Ecuador.
Pedro Camino
OW2con'14 - OpenCloudware: The vApp Lifecycle Management Solution for Multi-C...OW2
The main way to “go cloud” has proved to be, for security and economic reasons, hybrid : mixing private with public. Moving to Cloud PaaS is then requires to: manage the lifecycle of applications over different cloud providers; mask the heterogeneity; automate the deployment whatever the application technology and execution environment are, etc. This is what tackles OpenCloudware, which aims at enabling flexible multi-cloud applications thanks to a full automated think-build-run chain.
In the presentation we present a sample from OpenCloudware results demonstrating in particular a complete mechanism, comprising: application selection, deployment, benchmarking. OpenCloudware supports many IaaS infrasctructures, including OpenStack (via OW2stack). OpenCloudware is supported by the French administration through its IT support program "Fond National pour la Société Numérique".
Our Air Hockey Game project will be based on these trends, making a simple air hockey game in web platform. This game will be remote controlled using user’s own smart devices such as Galaxy or iPhone and they can see their game play view through web pages in their laptop or PC.
OW2con'14 - How to best manage your community of users? The example of Bonit...OW2
A lot of SaaS solution are available on the Internet to manage knowledge: Questions & Answers, Forums, Wikis, and many more. I will explain the interest of gathering this knowledge in one place. Many advantages: - knowing what users do with your product/software - create quality content to help them - integrate their account with your SSO and CRM.
Self Service BI with SpagoBI 4, Virginie Pasquon, Engineering Group.OW2
Self Service BI allows business users to access and work with information without the IT deparment's involvement. This does not only concern enterprise data but also private and unstructured data, stored on the final user's devices. SpagoBI 4 extends the support of Self Service BI scenarios from the agile development of analytical documents beyond enterprise boundaries bringing it to into the Open Data and the private domain as well. The Self Service by functionality is presented in the context of a full revision of the SpagoBI user interface towards an intuitive and appealing experience.
NoSQL Application Development with JSON and MapR-DBMapR Technologies
NoSQL databases are being used everywhere by startups and Global 2000 companies alike for data environments that require cost-effective scaling. These environments also typically need to represent data in a more flexible way than is practical with relational databases.
NoSQL is not a buzzword anymore. The array of non- relational technologies have found wide-scale adoption even in non-Internet scale focus areas. With the advent of the Cloud...the churn has increased even more yet there is no crystal clear guidance on adoption techniques and architectural choices surrounding the plethora of options available. This session initiates you into the whys & wherefores, architectural patterns, caveats and techniques that will augment your decision making process & boost your perception of architecting scalable, fault-tolerant & distributed solutions.
Join our experts Neeraja Rentachintala, Sr. Director of Product Management and Aman Sinha, Lead Software Engineer and host Sameer Nori in a discussion about putting Apache Drill into production.
Apache Drill is the next generation of SQL query engines. It builds on ANSI SQL 2003, and extends it to handle new formats like JSON, Parquet, ORC, and the usual CSV, TSV, XML and other Hadoop formats. Most importantly, it melts away the barriers that have caused databases to become silos of data. It does so by able to handle schema-changes on the fly, enabling a whole new world of self-service and data agility never seen before.
Cloudera Operational DB (Apache HBase & Apache Phoenix)Timothy Spann
Cloudera Operational DB (Apache HBase & Apache Phoenix)
Using Apache NiFi 1.10 to read/write from HBase
Dec 2019, Timothy Spann, Field Engineer, Data in Motion
Princeton Meetup 10-dec-2019
https://www.meetup.com/futureofdata-princeton/events/266496424/
Hosted By PGA Fund at:
https://pga.fund/coworking-space/
Princeton Growth Accelerator
5 Independence Way, 4th Floor, Princeton, NJ
The presentation begins with an overview of the growth of non-structured data and the benefits NoSQL products provide. It then provides an evaluation of the more popular NoSQL products on the market including MongoDB, Cassandra, Neo4J, and Redis. With NoSQL architectures becoming an increasingly appealing database management option for many organizations, this presentation will help you effectively evaluate the most popular NoSQL offerings and determine which one best meets your business needs.
High-Performance Big Data Analytics with RDMA over NVM and NVMe-SSDinside-BigData.com
In this deck from the 2018 OpenFabrics Workshop, Xiaoyi Lu from OSU presents: High-Performance Big Data Analytics with RDMA over NVM and NVMe-SSD.
"The convergence of Big Data and HPC has been pushing the innovation of accelerating Big Data analytics and management on modern HPC clusters. Recent studies have shown that the performance of Apache Hadoop, Spark, and Memcached can be significantly improved by leveraging the high-performance networking technologies, such as Remote Direct Memory Access (RDMA). Most of these studies are based on `DRAM+RDMA' schemes. On the other hand, Non-Volatile Memory (NVM) and NVMe-SSD technologies can support RDMA access with low-latency, high-throughput, and persistence on HPC clusters. NVMs and NVMe-SSDs provide the opportunity to build novel high-performance and QoS-aware communication and I/O subsystems for data-intensive applications. In this talk, we propose new communication and I/O schemes for these data analytics stacks, which are designed with RDMA over NVM and NVMe-SSD. Our studies show that the proposed designs can significantly improve the communication, I/O, and application performance for Big Data analytics and management middleware, such as Hadoop, Spark, Memcached, etc. In addition, we will also discuss how to design QoS-aware schemes in these frameworks with NVMe-SSD."
Watch the video: https://wp.me/p3RLHQ-iyB
Learn more: http://web.cse.ohio-state.edu/~lu.932/
and
https://www.openfabrics.org/index.php/2018-ofa-workshop-presentations.html
Sign up for our insideHPC Newsletter: http://insidehpc.com/newsletter
OUG Scotland 2014 - NoSQL and MySQL - The best of both worldsAndrew Morgan
Understand how you can get the benefits you're looking for from NoSQL data stores without sacrificing the power and flexibility of the world's most popular open source database - MySQL.
Ultimate journey towards realtime data platform with 2.5M events per secb0ris_1
The story is about pain and enjoy or how we built realtime data platform with 2.5M events per second. What challenges we faced and which lessons were learned. Step by step we will introduce technologies we use like Spark, Presto, Kafka, AWS and EMR and best practices we come up to like monitoring, deployment and scaling.
Microservices with Terraform, Docker and the Cloud. DevOps Wet 2018Derek Ashmore
Much has been written about how to write Microservices, but not enough about how to effectively deploy and manage them. Microservices architecture multiplies the number of deployables IT has to manage by at least 10x. In that world, tooling to manage cloud deployments and related infrastructure becames essential for success. Terraform and Docker are increasingly being leveraged to facilitate microservice environments. Terraform has become becoming the leading coding framework for building and managing change in cloud environments.
This session is targeted at architects and team leads. This session is intended to be platform-generic.
Removing Uninteresting Bytes in Software FuzzingAftab Hussain
Imagine a world where software fuzzing, the process of mutating bytes in test seeds to uncover hidden and erroneous program behaviors, becomes faster and more effective. A lot depends on the initial seeds, which can significantly dictate the trajectory of a fuzzing campaign, particularly in terms of how long it takes to uncover interesting behaviour in your code. We introduce DIAR, a technique designed to speedup fuzzing campaigns by pinpointing and eliminating those uninteresting bytes in the seeds. Picture this: instead of wasting valuable resources on meaningless mutations in large, bloated seeds, DIAR removes the unnecessary bytes, streamlining the entire process.
In this work, we equipped AFL, a popular fuzzer, with DIAR and examined two critical Linux libraries -- Libxml's xmllint, a tool for parsing xml documents, and Binutil's readelf, an essential debugging and security analysis command-line tool used to display detailed information about ELF (Executable and Linkable Format). Our preliminary results show that AFL+DIAR does not only discover new paths more quickly but also achieves higher coverage overall. This work thus showcases how starting with lean and optimized seeds can lead to faster, more comprehensive fuzzing campaigns -- and DIAR helps you find such seeds.
- These are slides of the talk given at IEEE International Conference on Software Testing Verification and Validation Workshop, ICSTW 2022.
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofsAlex Pruden
This paper presents Reef, a system for generating publicly verifiable succinct non-interactive zero-knowledge proofs that a committed document matches or does not match a regular expression. We describe applications such as proving the strength of passwords, the provenance of email despite redactions, the validity of oblivious DNS queries, and the existence of mutations in DNA. Reef supports the Perl Compatible Regular Expression syntax, including wildcards, alternation, ranges, capture groups, Kleene star, negations, and lookarounds. Reef introduces a new type of automata, Skipping Alternating Finite Automata (SAFA), that skips irrelevant parts of a document when producing proofs without undermining soundness, and instantiates SAFA with a lookup argument. Our experimental evaluation confirms that Reef can generate proofs for documents with 32M characters; the proofs are small and cheap to verify (under a second).
Paper: https://eprint.iacr.org/2023/1886
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
Communications Mining Series - Zero to Hero - Session 1DianaGray10
This session provides introduction to UiPath Communication Mining, importance and platform overview. You will acquire a good understand of the phases in Communication Mining as we go over the platform with you. Topics covered:
• Communication Mining Overview
• Why is it important?
• How can it help today’s business and the benefits
• Phases in Communication Mining
• Demo on Platform overview
• Q/A
UiPath Test Automation using UiPath Test Suite series, part 5DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 5. In this session, we will cover CI/CD with devops.
Topics covered:
CI/CD with in UiPath
End-to-end overview of CI/CD pipeline with Azure devops
Speaker:
Lyndsey Byblow, Test Suite Sales Engineer @ UiPath, Inc.
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
20 Comprehensive Checklist of Designing and Developing a WebsitePixlogix Infotech
Dive into the world of Website Designing and Developing with Pixlogix! Looking to create a stunning online presence? Look no further! Our comprehensive checklist covers everything you need to know to craft a website that stands out. From user-friendly design to seamless functionality, we've got you covered. Don't miss out on this invaluable resource! Check out our checklist now at Pixlogix and start your journey towards a captivating online presence today.
Climate Impact of Software Testing at Nordic Testing DaysKari Kakkonen
My slides at Nordic Testing Days 6.6.2024
Climate impact / sustainability of software testing discussed on the talk. ICT and testing must carry their part of global responsibility to help with the climat warming. We can minimize the carbon footprint but we can also have a carbon handprint, a positive impact on the climate. Quality characteristics can be added with sustainability, and then measured continuously. Test environments can be used less, and in smaller scale and on demand. Test techniques can be used in optimizing or minimizing number of tests. Test automation can be used to speed up testing.
Sudheer Mechineni, Head of Application Frameworks, Standard Chartered Bank
Discover how Standard Chartered Bank harnessed the power of Neo4j to transform complex data access challenges into a dynamic, scalable graph database solution. This keynote will cover their journey from initial adoption to deploying a fully automated, enterprise-grade causal cluster, highlighting key strategies for modelling organisational changes and ensuring robust disaster recovery. Learn how these innovations have not only enhanced Standard Chartered Bank’s data infrastructure but also positioned them as pioneers in the banking sector’s adoption of graph technology.
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.
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.
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
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
Full-RAG: A modern architecture for hyper-personalizationZilliz
Mike Del Balso, CEO & Co-Founder at Tecton, presents "Full RAG," a novel approach to AI recommendation systems, aiming to push beyond the limitations of traditional models through a deep integration of contextual insights and real-time data, leveraging the Retrieval-Augmented Generation architecture. This talk will outline Full RAG's potential to significantly enhance personalization, address engineering challenges such as data management and model training, and introduce data enrichment with reranking as a key solution. Attendees will gain crucial insights into the importance of hyperpersonalization in AI, the capabilities of Full RAG for advanced personalization, and strategies for managing complex data integrations for deploying cutting-edge AI solutions.
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIVladimir Iglovikov, Ph.D.
Presented by Vladimir Iglovikov:
- https://www.linkedin.com/in/iglovikov/
- https://x.com/viglovikov
- https://www.instagram.com/ternaus/
This presentation delves into the journey of Albumentations.ai, a highly successful open-source library for data augmentation.
Created out of a necessity for superior performance in Kaggle competitions, Albumentations has grown to become a widely used tool among data scientists and machine learning practitioners.
This case study covers various aspects, including:
People: The contributors and community that have supported Albumentations.
Metrics: The success indicators such as downloads, daily active users, GitHub stars, and financial contributions.
Challenges: The hurdles in monetizing open-source projects and measuring user engagement.
Development Practices: Best practices for creating, maintaining, and scaling open-source libraries, including code hygiene, CI/CD, and fast iteration.
Community Building: Strategies for making adoption easy, iterating quickly, and fostering a vibrant, engaged community.
Marketing: Both online and offline marketing tactics, focusing on real, impactful interactions and collaborations.
Mental Health: Maintaining balance and not feeling pressured by user demands.
Key insights include the importance of automation, making the adoption process seamless, and leveraging offline interactions for marketing. The presentation also emphasizes the need for continuous small improvements and building a friendly, inclusive community that contributes to the project's growth.
Vladimir Iglovikov brings his extensive experience as a Kaggle Grandmaster, ex-Staff ML Engineer at Lyft, sharing valuable lessons and practical advice for anyone looking to enhance the adoption of their open-source projects.
Explore more about Albumentations and join the community at:
GitHub: https://github.com/albumentations-team/albumentations
Website: https://albumentations.ai/
LinkedIn: https://www.linkedin.com/company/100504475
Twitter: https://x.com/albumentations
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Dynamo and NoSQL Databases
1. Dynamo: Amazon’s Highly Available Key-value Store
Amir H. Payberah
amir@sics.se
Amirkabir University of Technology
(Tehran Polytechnic)
Amir H. Payberah (Tehran Polytechnic) Dynamo 1393/7/19 1 / 64
2. Database and Database Management System
Database: an organized collection of data.
Amir H. Payberah (Tehran Polytechnic) Dynamo 1393/7/19 2 / 64
3. Database and Database Management System
Database: an organized collection of data.
Database Management System (DBMS): a software that interacts
with users, other applications, and the database itself to capture
and analyze data.
Amir H. Payberah (Tehran Polytechnic) Dynamo 1393/7/19 2 / 64
4. History of Databases
1960s
• Navigational data model: hierarchical model (IMS) and network
model (CODASYL).
• Disk-aware
Amir H. Payberah (Tehran Polytechnic) Dynamo 1393/7/19 3 / 64
5. History of Databases
1960s
• Navigational data model: hierarchical model (IMS) and network
model (CODASYL).
• Disk-aware
1970s
• Relational data model: Edgar F. Codd paper.
• Logical data is disconnected from physical information storage.
Amir H. Payberah (Tehran Polytechnic) Dynamo 1393/7/19 3 / 64
6. History of Databases
1960s
• Navigational data model: hierarchical model (IMS) and network
model (CODASYL).
• Disk-aware
1970s
• Relational data model: Edgar F. Codd paper.
• Logical data is disconnected from physical information storage.
1980s
• Object databases: information is represented in the form of objects.
Amir H. Payberah (Tehran Polytechnic) Dynamo 1393/7/19 3 / 64
7. History of Databases
1960s
• Navigational data model: hierarchical model (IMS) and network
model (CODASYL).
• Disk-aware
1970s
• Relational data model: Edgar F. Codd paper.
• Logical data is disconnected from physical information storage.
1980s
• Object databases: information is represented in the form of objects.
2000s
• NoSQL databases: BASE instead of ACID.
• NewSQL databases: scalable performance of NoSQL + ACID.
Amir H. Payberah (Tehran Polytechnic) Dynamo 1393/7/19 3 / 64
8. Relational Databases Management Systems (RDMBSs)
RDMBSs: the dominant technology for storing structured data in
web and business applications.
SQL is good
• Rich language
• Easy to use and integrate
• Rich toolset
• Many vendors
They promise: ACID
Amir H. Payberah (Tehran Polytechnic) Dynamo 1393/7/19 4 / 64
9. ACID Properties
Atomicity
• All included statements in a transaction are either executed or the
whole transaction is aborted without affecting the database.
Amir H. Payberah (Tehran Polytechnic) Dynamo 1393/7/19 5 / 64
10. ACID Properties
Atomicity
• All included statements in a transaction are either executed or the
whole transaction is aborted without affecting the database.
Consistency
• A database is in a consistent state before and after a transaction.
Amir H. Payberah (Tehran Polytechnic) Dynamo 1393/7/19 5 / 64
11. ACID Properties
Atomicity
• All included statements in a transaction are either executed or the
whole transaction is aborted without affecting the database.
Consistency
• A database is in a consistent state before and after a transaction.
Isolation
• Transactions can not see uncommitted changes in the database.
Amir H. Payberah (Tehran Polytechnic) Dynamo 1393/7/19 5 / 64
12. ACID Properties
Atomicity
• All included statements in a transaction are either executed or the
whole transaction is aborted without affecting the database.
Consistency
• A database is in a consistent state before and after a transaction.
Isolation
• Transactions can not see uncommitted changes in the database.
Durability
• Changes are written to a disk before a database commits a transaction
so that committed data cannot be lost through a power failure.
Amir H. Payberah (Tehran Polytechnic) Dynamo 1393/7/19 5 / 64
13. RDBMS is Good ...
Amir H. Payberah (Tehran Polytechnic) Dynamo 1393/7/19 6 / 64
14. RDBMS Challenges
Web-based applications caused spikes.
• Internet-scale data size
• High read-write rates
• Frequent schema changes
Amir H. Payberah (Tehran Polytechnic) Dynamo 1393/7/19 7 / 64
15. Let’s Scale RDBMSs
RDBMS were not designed to be distributed.
Possible solutions:
• Replication
• Sharding
Amir H. Payberah (Tehran Polytechnic) Dynamo 1393/7/19 8 / 64
16. Let’s Scale RDBMSs - Replication
Master/Slave architecture
Scales read operations
Amir H. Payberah (Tehran Polytechnic) Dynamo 1393/7/19 9 / 64
17. Let’s Scale RDBMSs - Sharding
Dividing the database across many machines.
It scales read and write operations.
Cannot execute transactions across shards (partitions).
Amir H. Payberah (Tehran Polytechnic) Dynamo 1393/7/19 10 / 64
18. Scaling RDBMSs is Expensive and Inefficient
[http://www.couchbase.com/sites/default/files/uploads/all/whitepapers/NoSQLWhitepaper.pdf]
Amir H. Payberah (Tehran Polytechnic) Dynamo 1393/7/19 11 / 64
21. NoSQL
Avoidance of unneeded complexity
High throughput
Horizontal scalability and running on commodity hardware
Compromising reliability for better performance
Amir H. Payberah (Tehran Polytechnic) Dynamo 1393/7/19 14 / 64
22. The NoSQL Movement
It was first used in 1998 by Carlo Strozzi to name his relational
database that did not expose the standard SQL interface.
The term was picked up again in 2009 when a Last.fm developer, Jo-
han Oskarsson, wanted to organize an event to discuss open source
distributed databases.
The name attempted to label the emergence of a growing number
of non-relational, distributed data stores that often did not attempt
to provide ACID.
Amir H. Payberah (Tehran Polytechnic) Dynamo 1393/7/19 15 / 64
23. NoSQL Cost and Performance
[http://www.couchbase.com/sites/default/files/uploads/all/whitepapers/NoSQLWhitepaper.pdf]
Amir H. Payberah (Tehran Polytechnic) Dynamo 1393/7/19 16 / 64
27. Key-Value Data Model
Collection of key/value pairs.
Ordered Key-Value: processing over key ranges.
Dynamo, Scalaris, Voldemort, Riak, ...
Amir H. Payberah (Tehran Polytechnic) Dynamo 1393/7/19 20 / 64
28. Column-Oriented Data Model
Similar to a key/value store, but the value can have multiple at-
tributes (Columns).
Column: a set of data values of a particular type.
Store and process data by column instead of row.
BigTable, Hbase, Cassandra, ...
Amir H. Payberah (Tehran Polytechnic) Dynamo 1393/7/19 21 / 64
29. Document Data Model
Similar to a column-oriented store, but values can have complex
documents, instead of fixed format.
Flexible schema.
XML, YAML, JSON, and BSON.
CouchDB, MongoDB, ...
{
FirstName: "Bob",
Address: "5 Oak St.",
Hobby: "sailing"
}
{
FirstName: "Jonathan",
Address: "15 Wanamassa Point Road",
Children: [
{Name: "Michael", Age: 10},
{Name: "Jennifer", Age: 8},
]
}
Amir H. Payberah (Tehran Polytechnic) Dynamo 1393/7/19 22 / 64
30. Graph Data Model
Uses graph structures with nodes, edges, and properties to represent
and store data.
Neo4J, InfoGrid, ...
[http://en.wikipedia.org/wiki/Graph database]
Amir H. Payberah (Tehran Polytechnic) Dynamo 1393/7/19 23 / 64
32. Consistency
Strong consistency
• After an update completes, any subsequent access will return the
updated value.
Amir H. Payberah (Tehran Polytechnic) Dynamo 1393/7/19 25 / 64
33. Consistency
Strong consistency
• After an update completes, any subsequent access will return the
updated value.
Eventual consistency
• Does not guarantee that subsequent accesses will return the
updated value.
• Inconsistency window.
• If no new updates are made to the object, eventually all accesses
will return the last updated value.
Amir H. Payberah (Tehran Polytechnic) Dynamo 1393/7/19 25 / 64
34. Quorum Model
N: the number of nodes to which a data item is replicated.
R: the number of nodes a value has to be read from to be accepted.
W: the number of nodes a new value has to be written to before
the write operation is finished.
To enforce strong consistency: R + W > N
Amir H. Payberah (Tehran Polytechnic) Dynamo 1393/7/19 26 / 64
35. Quorum Model
N: the number of nodes to which a data item is replicated.
R: the number of nodes a value has to be read from to be accepted.
W: the number of nodes a new value has to be written to before
the write operation is finished.
To enforce strong consistency: R + W > N
Amir H. Payberah (Tehran Polytechnic) Dynamo 1393/7/19 26 / 64
36. Consistency vs. Availability
The large-scale applications have to be reliable: availability + re-
dundancy
These properties are difficult to achieve with ACID properties.
The BASE approach forfeits the ACID properties of consistency and
isolation in favor of availability, graceful degradation, and perfor-
mance.
Amir H. Payberah (Tehran Polytechnic) Dynamo 1393/7/19 27 / 64
37. BASE Properties
Basic Availability
• Possibilities of faults but not a fault of the whole system.
Soft-state
• Copies of a data item may be inconsistent
Eventually consistent
• Copies becomes consistent at some later time if there are no more
updates to that data item
Amir H. Payberah (Tehran Polytechnic) Dynamo 1393/7/19 28 / 64
38. CAP Theorem
Consistency
• Consistent state of data after the execution of an operation.
Availability
• Clients can always read and write data.
Partition Tolerance
• Continue the operation in the presence of network partitions.
You can choose only two!
Amir H. Payberah (Tehran Polytechnic) Dynamo 1393/7/19 29 / 64
42. Design Consideration
It sacrifices strong consistency for availability: always writable
Amir H. Payberah (Tehran Polytechnic) Dynamo 1393/7/19 33 / 64
43. Design Consideration
It sacrifices strong consistency for availability: always writable
Incremental scalability
Amir H. Payberah (Tehran Polytechnic) Dynamo 1393/7/19 33 / 64
44. Design Consideration
It sacrifices strong consistency for availability: always writable
Incremental scalability
Symmetry: every node should have the same set of responsibilities
as its peers
Amir H. Payberah (Tehran Polytechnic) Dynamo 1393/7/19 33 / 64
45. Design Consideration
It sacrifices strong consistency for availability: always writable
Incremental scalability
Symmetry: every node should have the same set of responsibilities
as its peers
Decentralization
Amir H. Payberah (Tehran Polytechnic) Dynamo 1393/7/19 33 / 64
46. Design Consideration
It sacrifices strong consistency for availability: always writable
Incremental scalability
Symmetry: every node should have the same set of responsibilities
as its peers
Decentralization
Heterogeneity
Amir H. Payberah (Tehran Polytechnic) Dynamo 1393/7/19 33 / 64
49. Partitioning
If size of data exceeds the capacity of a single machine: partitioning
Sharding data (horizontal partitioning).
Consistent hashing is one form of automatic sharding.
Amir H. Payberah (Tehran Polytechnic) Dynamo 1393/7/19 36 / 64
50. Consistent Hashing
Hash both data and nodes using the same hash function in a same
id space.
partition = hash(d) mod n, d: data, n: number of nodes
Amir H. Payberah (Tehran Polytechnic) Dynamo 1393/7/19 37 / 64
51. Consistent Hashing
Hash both data and nodes using the same hash function in a same
id space.
partition = hash(d) mod n, d: data, n: number of nodes
hash("Fatemeh") = 12
hash("Ahmad") = 2
hash("Seif") = 9
hash("Jim") = 14
hash("Sverker") = 4
Amir H. Payberah (Tehran Polytechnic) Dynamo 1393/7/19 37 / 64
52. Load Imbalance (1/4)
Consistent hashing may lead to imbalance.
Node identifiers may not be balanced.
Amir H. Payberah (Tehran Polytechnic) Dynamo 1393/7/19 38 / 64
53. Load Imbalance (2/4)
Consistent hashing may lead to imbalance.
Data identifiers may not be balanced.
Amir H. Payberah (Tehran Polytechnic) Dynamo 1393/7/19 39 / 64
54. Load Imbalance (3/4)
Consistent hashing may lead to imbalance.
Hot spots.
Amir H. Payberah (Tehran Polytechnic) Dynamo 1393/7/19 40 / 64
55. Load Imbalance (4/4)
Consistent hashing may lead to imbalance.
Heterogeneous nodes.
Amir H. Payberah (Tehran Polytechnic) Dynamo 1393/7/19 41 / 64
56. Load Balancing via Virtual Nodes
Each physical node picks multiple random identifiers.
Each identifier represents a virtual node.
Each node runs multiple virtual nodes.
Amir H. Payberah (Tehran Polytechnic) Dynamo 1393/7/19 42 / 64
58. Replication
To achieve high availability and durability, data should be replicates
on multiple nodes.
Amir H. Payberah (Tehran Polytechnic) Dynamo 1393/7/19 44 / 64
60. Data Versioning (1/3)
Updates are propagated asynchronously.
Amir H. Payberah (Tehran Polytechnic) Dynamo 1393/7/19 46 / 64
61. Data Versioning (1/3)
Updates are propagated asynchronously.
Each update/modification of an item results in a new and immutable
version of the data.
• Multiple versions of an object may exist.
Amir H. Payberah (Tehran Polytechnic) Dynamo 1393/7/19 46 / 64
62. Data Versioning (1/3)
Updates are propagated asynchronously.
Each update/modification of an item results in a new and immutable
version of the data.
• Multiple versions of an object may exist.
Replicas eventually become consistent.
Amir H. Payberah (Tehran Polytechnic) Dynamo 1393/7/19 46 / 64
63. Data Versioning (2/3)
Version branching can happen due to node/network failures.
Amir H. Payberah (Tehran Polytechnic) Dynamo 1393/7/19 47 / 64
64. Data Versioning (2/3)
Version branching can happen due to node/network failures.
Use vector clocks for capturing causality, in the form of (node,
counter)
Amir H. Payberah (Tehran Polytechnic) Dynamo 1393/7/19 47 / 64
65. Data Versioning (2/3)
Version branching can happen due to node/network failures.
Use vector clocks for capturing causality, in the form of (node,
counter)
• If causal: older version can be forgotten
Amir H. Payberah (Tehran Polytechnic) Dynamo 1393/7/19 47 / 64
66. Data Versioning (2/3)
Version branching can happen due to node/network failures.
Use vector clocks for capturing causality, in the form of (node,
counter)
• If causal: older version can be forgotten
• If concurrent: conflict exists, requiring reconciliation
Amir H. Payberah (Tehran Polytechnic) Dynamo 1393/7/19 47 / 64
67. Data Versioning (3/3)
Client C1 writes new object via Sx.
Amir H. Payberah (Tehran Polytechnic) Dynamo 1393/7/19 48 / 64
68. Data Versioning (3/3)
Client C1 writes new object via Sx.
C1 updates the object via Sx.
Amir H. Payberah (Tehran Polytechnic) Dynamo 1393/7/19 48 / 64
69. Data Versioning (3/3)
Client C1 writes new object via Sx.
C1 updates the object via Sx.
C1 updates the object via Sy.
Amir H. Payberah (Tehran Polytechnic) Dynamo 1393/7/19 48 / 64
70. Data Versioning (3/3)
Client C1 writes new object via Sx.
C1 updates the object via Sx.
C1 updates the object via Sy.
C2 reads D2 and updates the
object via Sz.
Amir H. Payberah (Tehran Polytechnic) Dynamo 1393/7/19 48 / 64
71. Data Versioning (3/3)
Client C1 writes new object via Sx.
C1 updates the object via Sx.
C1 updates the object via Sy.
C2 reads D2 and updates the
object via Sz.
C3 reads D3 and D4 via Sx.
• The read context is a
summary of the clocks of D3
and D4: [(Sx, 2), (Sy, 1), (Sz, 1)].
Amir H. Payberah (Tehran Polytechnic) Dynamo 1393/7/19 48 / 64
72. Data Versioning (3/3)
Client C1 writes new object via Sx.
C1 updates the object via Sx.
C1 updates the object via Sy.
C2 reads D2 and updates the
object via Sz.
C3 reads D3 and D4 via Sx.
• The read context is a
summary of the clocks of D3
and D4: [(Sx, 2), (Sy, 1), (Sz, 1)].
Reconciliation
Amir H. Payberah (Tehran Polytechnic) Dynamo 1393/7/19 48 / 64
73. Dynamo API
Amir H. Payberah (Tehran Polytechnic) Dynamo 1393/7/19 49 / 64
74. Dynamo API
get(key)
• Return single object or list of objects with conflicting version and
context.
Amir H. Payberah (Tehran Polytechnic) Dynamo 1393/7/19 50 / 64
75. Dynamo API
get(key)
• Return single object or list of objects with conflicting version and
context.
put(key, context, object)
• Store object and context under key.
• Context encodes system metadata, e.g., version number.
Amir H. Payberah (Tehran Polytechnic) Dynamo 1393/7/19 50 / 64
76. Execution of Operations
Client can send the request:
• To the node responsible for the data (coordinator): save on latency,
code on client
• To a generic load balancer: extra hope
Amir H. Payberah (Tehran Polytechnic) Dynamo 1393/7/19 51 / 64
77. put Operation
Coordinator generates new vector clock and writes the new version
locally.
Amir H. Payberah (Tehran Polytechnic) Dynamo 1393/7/19 52 / 64
78. put Operation
Coordinator generates new vector clock and writes the new version
locally.
Send to N nodes.
Amir H. Payberah (Tehran Polytechnic) Dynamo 1393/7/19 52 / 64
79. put Operation
Coordinator generates new vector clock and writes the new version
locally.
Send to N nodes.
Wait for response from W nodes.
Amir H. Payberah (Tehran Polytechnic) Dynamo 1393/7/19 52 / 64
80. put Operation
Coordinator generates new vector clock and writes the new version
locally.
Send to N nodes.
Wait for response from W nodes.
Using W=1
• High availability for writes
• Low durability
Amir H. Payberah (Tehran Polytechnic) Dynamo 1393/7/19 52 / 64
81. get Operation
Coordinator requests existing versions from N.
• Wait for response from R nodes.
Amir H. Payberah (Tehran Polytechnic) Dynamo 1393/7/19 53 / 64
82. get Operation
Coordinator requests existing versions from N.
• Wait for response from R nodes.
If multiple versions, return all versions that are causally unrelated.
Amir H. Payberah (Tehran Polytechnic) Dynamo 1393/7/19 53 / 64
83. get Operation
Coordinator requests existing versions from N.
• Wait for response from R nodes.
If multiple versions, return all versions that are causally unrelated.
Divergent versions are then reconciled.
Amir H. Payberah (Tehran Polytechnic) Dynamo 1393/7/19 53 / 64
84. get Operation
Coordinator requests existing versions from N.
• Wait for response from R nodes.
If multiple versions, return all versions that are causally unrelated.
Divergent versions are then reconciled.
Reconciled version written back.
Amir H. Payberah (Tehran Polytechnic) Dynamo 1393/7/19 53 / 64
85. get Operation
Coordinator requests existing versions from N.
• Wait for response from R nodes.
If multiple versions, return all versions that are causally unrelated.
Divergent versions are then reconciled.
Reconciled version written back.
Using R=1
• High performance read engine.
Amir H. Payberah (Tehran Polytechnic) Dynamo 1393/7/19 53 / 64
88. Membership Management
Administrator explicitly adds and removes nodes.
Gossiping to propagate membership changes.
• Eventually consistent view.
• O(1) hop overlay.
Amir H. Payberah (Tehran Polytechnic) Dynamo 1393/7/19 55 / 64
89. Adding Nodes
A new node X added to system.
• X is assigned key ranges w.r.t. its virtual servers.
• For each key range, it transfers the data items.
Amir H. Payberah (Tehran Polytechnic) Dynamo 1393/7/19 56 / 64
90. Removing Nodes
Reallocation of keys is a reverse process of adding nodes.
Amir H. Payberah (Tehran Polytechnic) Dynamo 1393/7/19 57 / 64
91. Failure Detection
Passive failure detection.
• Use pings only for detection from failed to alive.
In the absence of client requests, node A doesn’t need to know if
node B is alive.
Amir H. Payberah (Tehran Polytechnic) Dynamo 1393/7/19 58 / 64
93. Handling Permanent Failure
Anti-entropy for replica synchronization.
Use Merkle trees for fast inconsistency detection and minimum
transfer of data.
Amir H. Payberah (Tehran Polytechnic) Dynamo 1393/7/19 59 / 64
94. Handling Permanent Failure
Anti-entropy for replica synchronization.
Use Merkle trees for fast inconsistency detection and minimum
transfer of data.
• Nodes maintain Merkle tree of each key range.
Amir H. Payberah (Tehran Polytechnic) Dynamo 1393/7/19 59 / 64
95. Handling Permanent Failure
Anti-entropy for replica synchronization.
Use Merkle trees for fast inconsistency detection and minimum
transfer of data.
• Nodes maintain Merkle tree of each key range.
• Exchange root of Merkle tree to check if the key ranges are updated.
Amir H. Payberah (Tehran Polytechnic) Dynamo 1393/7/19 59 / 64
96. Failure Transient Detection
Due to partitions, quorums might not exist.
• Sloppy quorum.
• Create transient replicas: N healthy
nodes from the preference list.
• Reconcile after partition heals.
Amir H. Payberah (Tehran Polytechnic) Dynamo 1393/7/19 60 / 64
97. Failure Transient Detection
Due to partitions, quorums might not exist.
• Sloppy quorum.
• Create transient replicas: N healthy
nodes from the preference list.
• Reconcile after partition heals.
Say A is unreachable.
put will use D.
Later, D detects A is alive.
• Sends the replica to A
• Removes the replica.
Amir H. Payberah (Tehran Polytechnic) Dynamo 1393/7/19 60 / 64
99. Summary
NoSQL data models: key-value, column-oriented, document-
oriented, graph-based
Sharding and consistent hashing
ACID vs. BASE
CAP (Consistency vs. Availability)
Amir H. Payberah (Tehran Polytechnic) Dynamo 1393/7/19 62 / 64
100. Summary
Dynamo: key/value storage: put and get
Data partitioning: consistent hashing
Load balancing: virtual server
Replication: several nodes, preference list
Data versioning: vector clock, resolve conflict at read time by the
application
Membership management: join/leave by admin, gossip-based to up-
date the nodes’ views, ping to detect failure
Handling transient failure: sloppy quorum
Handling permanent failure: Merkle tree
Amir H. Payberah (Tehran Polytechnic) Dynamo 1393/7/19 63 / 64