This document describes OrientDB, a multi-model NoSQL database that supports document, key-value, and graph structures. Some key points:
- OrientDB is a fast and scalable database that can run on cheap hardware and supports hundreds to millions of users.
- It supports both schema-less and schema-full data models with ACID transactions, SQL queries, and various types including collections, maps, and relationships between documents.
- The database can be used in embedded, client-server, distributed, and in-memory modes. It has language bindings for Java, Ruby, and JavaScript and supports HTTP/REST.
Works with persistent graphs using OrientDB graphdevroom
This talk will present OrientDB open source project and its capability to handle persistent graphs in different ways. OrientDB presentation Java Graph Native API SQL+graph extensions HTTP API Blueprints API Gremlin usage Console tool Studio web tool
OrientDB vs Neo4j - and an introduction to NoSQL databasesCurtis Mosters
NoSQL databases are a good alternative to common SQL technologies. Here you get an introduction and comparison of SQL vs NoSQL. Furthermore we have a look on Graph databases and especially OrientDB vs Neo4j.
Understand what NoSQL is and what it is not. Why would you want to use NoSQL within your project and which NoSQL database would you utilize. Explore the relationships between NoSQL and RDBMS. Understand how to select between an RDBMs (MySQL and PostgreSQL), Document Database(MongoDB), Key-Value Store, Graph Database, and Columnar databases or combinations of the above.
Works with persistent graphs using OrientDB graphdevroom
This talk will present OrientDB open source project and its capability to handle persistent graphs in different ways. OrientDB presentation Java Graph Native API SQL+graph extensions HTTP API Blueprints API Gremlin usage Console tool Studio web tool
OrientDB vs Neo4j - and an introduction to NoSQL databasesCurtis Mosters
NoSQL databases are a good alternative to common SQL technologies. Here you get an introduction and comparison of SQL vs NoSQL. Furthermore we have a look on Graph databases and especially OrientDB vs Neo4j.
Understand what NoSQL is and what it is not. Why would you want to use NoSQL within your project and which NoSQL database would you utilize. Explore the relationships between NoSQL and RDBMS. Understand how to select between an RDBMs (MySQL and PostgreSQL), Document Database(MongoDB), Key-Value Store, Graph Database, and Columnar databases or combinations of the above.
A Graph Database That Scales - ArangoDB 3.7 Release WebinarArangoDB Database
örg Schad (Head of Engineering and ML) and Chris Woodward (Developer Relations Engineer) introduce the new capabilities to work with graph in a distributed setting. In addition explain and showcase the new fuzzy search within ArangoDB's search engine as well as JSON schema validation.
Get started with ArangoDB: https://www.arangodb.com/arangodb-tra...
Explore ArangoDB Cloud for free with 1-click demos: https://cloud.arangodb.com/home
ArangoDB is a native multi-model database written in C++ supporting graph, document and key/value needs with one engine and one query language. Fulltext search and ranking is supported via ArangoSearch the fully integrated C++ based search engine in ArangoDB.
Large scale, interactive ad-hoc queries over different datastores with Apache...jaxLondonConference
Presented at JAX London 2013
Apache Drill is a distributed system for interactive ad-hoc query and analysis of large-scale datasets. It is the Open Source version of Google’s Dremel technology. Apache Drill is designed to scale to thousands of servers and able to process Petabytes of data in seconds, enabling SQL-on-Hadoop and supporting a variety of data sources.
Has your app taken off? Are you thinking about scaling? MongoDB makes it easy to horizontally scale out with built-in automatic sharding, but did you know that sharding isn't the only way to achieve scale with MongoDB?
In this webinar, we'll review three different ways to achieve scale with MongoDB. We'll cover how you can optimize your application design and configure your storage to achieve scale, as well as the basics of horizontal scaling. You'll walk away with a thorough understanding of options to scale your MongoDB application.
How to design software and APIs for parallelism on modern hardware
- Richard Parker, mathematician and freelance computer programmer in Cambridge, England
I see only three techniques capable of speeding up well written but old software by a factor of ten or more, namely
- Using multiple cores
- Making good use of cache memory
- Using the full power of a single processor.
So far, commercial software seems to have ignored recent changes in hardware. Often, performance does not really matter, but when it does matter, it requires changes to the design and coding of the computer software.
I have been looking into the changes needed for several years now, and it is gradually emerging that one aspect sticks out as being more important than all the others.
If functions, subroutines, methods etc. do a large number of whatever they do, rather than just one, it becomes possible to write clever implementations that run much faster. Several examples of this will be discussed.
I suggest that software designed and written today should take this into account, making it easier to speed it up if and when it becomes necessary to do so.
Introduction to Sqoop Aaron Kimball Cloudera Hadoop User Group UKSkills Matter
In this talk of Hadoop User Group UK meeting, Aaron Kimball from Cloudera introduces Sqoop, the open source SQL-to-Hadoop tool. Sqoop helps users perform efficient imports of data from RDBMS sources to Hadoop's distributed file system, where it can be processed in concert with other data sources. Sqoop also allows users to export Hadoop-generated results back to an RDBMS for use with other data pipelines.
After this session, users will understand how databases and Hadoop fit together, and how to use Sqoop to move data between these systems. The talk will provide suggestions for best practices when integrating Sqoop and Hadoop in your data processing pipelines. We'll also cover some deeper technical details of Sqoop's architecture, and take a look at some upcoming aspects of Sqoop's development roadmap.
JSON is an important datatype transporting data between servers and many modern applications. Postgres has been at the forefront of bringing these capabilities into the hands of database users. JSONB data type allows for faster operations within PostgreSQL.
At this webinar we will look at:
- How to use JSON from applications
- How to store it in the database
- How to index JSON data
- Tips and tricks to optimize usage
We then closed with a review of the roadmap for new PostgreSQL features for JSON and JSON standards compliance.
Apache Spark is an open-source parallel processing framework that supports in-memory processing to boost the performance of big-data analytic applications. We will cover approaches of processing Big Data on Spark cluster for real time analytic, machine learning and iterative BI and also discuss the pros and cons of using Spark in Azure cloud.
Recently, ArangoDB integrated its cluster management with Apache Mesos. This makes it now possible to launch an ArangoDB cluster on a Mesos cluster with a single, albeit complex shell command. In a DCOS-enabled Mesosphere cluster this is even easier, because one can use the dcos subcommand for ArangoDB, which essentially turns a Mesosphere cluster into a single, large computer.
In this talk I explain the whole setup and show (live on stage) how to deploy ArangoDB clusters on Amazon Web Services, and how we used this to scale ArangoDB up until it could sustain 1000000 document writes per second.
A Graph Database That Scales - ArangoDB 3.7 Release WebinarArangoDB Database
örg Schad (Head of Engineering and ML) and Chris Woodward (Developer Relations Engineer) introduce the new capabilities to work with graph in a distributed setting. In addition explain and showcase the new fuzzy search within ArangoDB's search engine as well as JSON schema validation.
Get started with ArangoDB: https://www.arangodb.com/arangodb-tra...
Explore ArangoDB Cloud for free with 1-click demos: https://cloud.arangodb.com/home
ArangoDB is a native multi-model database written in C++ supporting graph, document and key/value needs with one engine and one query language. Fulltext search and ranking is supported via ArangoSearch the fully integrated C++ based search engine in ArangoDB.
Large scale, interactive ad-hoc queries over different datastores with Apache...jaxLondonConference
Presented at JAX London 2013
Apache Drill is a distributed system for interactive ad-hoc query and analysis of large-scale datasets. It is the Open Source version of Google’s Dremel technology. Apache Drill is designed to scale to thousands of servers and able to process Petabytes of data in seconds, enabling SQL-on-Hadoop and supporting a variety of data sources.
Has your app taken off? Are you thinking about scaling? MongoDB makes it easy to horizontally scale out with built-in automatic sharding, but did you know that sharding isn't the only way to achieve scale with MongoDB?
In this webinar, we'll review three different ways to achieve scale with MongoDB. We'll cover how you can optimize your application design and configure your storage to achieve scale, as well as the basics of horizontal scaling. You'll walk away with a thorough understanding of options to scale your MongoDB application.
How to design software and APIs for parallelism on modern hardware
- Richard Parker, mathematician and freelance computer programmer in Cambridge, England
I see only three techniques capable of speeding up well written but old software by a factor of ten or more, namely
- Using multiple cores
- Making good use of cache memory
- Using the full power of a single processor.
So far, commercial software seems to have ignored recent changes in hardware. Often, performance does not really matter, but when it does matter, it requires changes to the design and coding of the computer software.
I have been looking into the changes needed for several years now, and it is gradually emerging that one aspect sticks out as being more important than all the others.
If functions, subroutines, methods etc. do a large number of whatever they do, rather than just one, it becomes possible to write clever implementations that run much faster. Several examples of this will be discussed.
I suggest that software designed and written today should take this into account, making it easier to speed it up if and when it becomes necessary to do so.
Introduction to Sqoop Aaron Kimball Cloudera Hadoop User Group UKSkills Matter
In this talk of Hadoop User Group UK meeting, Aaron Kimball from Cloudera introduces Sqoop, the open source SQL-to-Hadoop tool. Sqoop helps users perform efficient imports of data from RDBMS sources to Hadoop's distributed file system, where it can be processed in concert with other data sources. Sqoop also allows users to export Hadoop-generated results back to an RDBMS for use with other data pipelines.
After this session, users will understand how databases and Hadoop fit together, and how to use Sqoop to move data between these systems. The talk will provide suggestions for best practices when integrating Sqoop and Hadoop in your data processing pipelines. We'll also cover some deeper technical details of Sqoop's architecture, and take a look at some upcoming aspects of Sqoop's development roadmap.
JSON is an important datatype transporting data between servers and many modern applications. Postgres has been at the forefront of bringing these capabilities into the hands of database users. JSONB data type allows for faster operations within PostgreSQL.
At this webinar we will look at:
- How to use JSON from applications
- How to store it in the database
- How to index JSON data
- Tips and tricks to optimize usage
We then closed with a review of the roadmap for new PostgreSQL features for JSON and JSON standards compliance.
Apache Spark is an open-source parallel processing framework that supports in-memory processing to boost the performance of big-data analytic applications. We will cover approaches of processing Big Data on Spark cluster for real time analytic, machine learning and iterative BI and also discuss the pros and cons of using Spark in Azure cloud.
Recently, ArangoDB integrated its cluster management with Apache Mesos. This makes it now possible to launch an ArangoDB cluster on a Mesos cluster with a single, albeit complex shell command. In a DCOS-enabled Mesosphere cluster this is even easier, because one can use the dcos subcommand for ArangoDB, which essentially turns a Mesosphere cluster into a single, large computer.
In this talk I explain the whole setup and show (live on stage) how to deploy ArangoDB clusters on Amazon Web Services, and how we used this to scale ArangoDB up until it could sustain 1000000 document writes per second.
Intro to mobile web application developmentzonathen
Learn all the basics of web app development including bootstrap, handlebars templates, jquery and angularjs, as well as using hybrid app deployment on a phone.
A data lake can be used as a source for both structured and unstructured data - but how? We'll look at using open standards including Spark and Presto with Amazon EMR, Amazon Redshift Spectrum and Amazon Athena to process and understand data.
Speakers:
Neel Mitra - Solutions Architect, AWS
Roger Dahlstrom - Solutions Architect, AWS
Using MongoDB to Build a Fast and Scalable Content RepositoryMongoDB
Presented by Mike Obrebski, Senior Solution Architect, Nuxeo
MongoDB can be used in the Nuxeo Platform as a replacement for traditional SQL databases. Nuxeo's content repository, which is the cornerstone of this open source software platform, can now completely rely on MongoDB for data storage. This presentation will explain the motivation for using MongoDB and will discuss different implementation strategies. In this session, you will learn more about the migrations to MongoDB and how we were able to achieve increased performance gains.
For our next ArcReady, we will explore a topic on everyone’s mind: Cloud computing. Several industry companies have announced cloud computing services . In October 2008 at the Professional Developers Conference, Microsoft announced the next phase of our Software + Services vision: the Azure Services Platform. The Azure Services Platforms provides a wide range of internet services that can be consumed from both on premises environments or the internet.
Session 1: Cloud Services
In our first session we will explore the current state of cloud services. We will then look at how applications should be architected for the cloud and explore a reference application deployed on Windows Azure. We will also look at the services that can be built for on premise application, using .NET Services. We will also address some of the concerns that enterprises have about cloud services, such as regulatory and compliance issues.
Session 2: The Azure Platform
In our second session we will take a slightly different look at cloud based services by exploring Live Mesh and Live Services. Live Mesh is a data synchronization client that has a rich API to build applications on. Live services are a collection of APIs that can be used to create rich applications for your customers. Live Services are based on internet standard protocols and data formats.
MySQL Document Store - A Document Store with all the benefts of a Transactona...Olivier DASINI
MySQL Document Store allows developers to work with SQL relational tables and schema-less JSON collections. To make that possible MySQL has created the X Dev API which puts a strong focus on CRUD by providing a fluent API allowing you to work with JSON documents in a natural way. The X Protocol is a highly extensible and is optimized for CRUD as well as SQL API operations.
The Importance Things of Full Stack DevelopmentMike Taylor
Full Stack web technologies including Node.js, AngularJS and MongoDB Development for fornt End & Back End web & Mobile Application Development.
Brainvire's skilled team of developer help you to make your application attractive & effective.
For more : http://www.brainvire.com/full-stack-development
How I fell in love with Serverless, Yevhen Duma, DevOps Engineer at ProvectusProvectus
Topic: "How I fell in love with Serverless"
"We'll talk about AWS serverless and I will show how to use AWS services like #S3, #CloudFront, #Lambda, #APIGateway to build a scalable website. Hope to see you and your fantastic team on June 21!".
Some great facts about Yevhen:
10+ years in IT, started as System Administrator, last 5 years as #DevOps, and sometimes as TeamLead, Consultant. More Ops than Dev.
Windows Azure - Uma Plataforma para o Desenvolvimento de AplicaçõesComunidade NetPonto
A plataforma Windows Azure abre espaço a desenvimento de aplicações utilizando o novo paradigma: "A Nuvem". Aplicações escaláveis, redundantes, e mais próximas do utilizador final. Isto tudo utilizando como base os conhecimentos que já tem e o novo Visual Studio 2010.
Basic performance application optimization techniques that can be applied to any application, from web to desktop or mobile, but with focus on php/mysql stack. How to identify bottlenecks and resolve them and what strategies to choose to avoid them upfront.
Live presentation:
https://www.youtube.com/watch?v=aas8oM7CLjk
Similar to OrientDB the database for the web 1.1 (20)
Polyglot Persistence vs Multi-Model DatabasesLuca Garulli
Many complex applications scale up by using several different databases, i.e. selecting the best DBMS for each use case. This tends to complicate modern architecture with many products by different vendors, no standards, and a lot of ETL which ultimately causes unpredictable results and a lot of headaches. Multi-Model DBMSs were created to make your life easier, giving you the option of using one NoSQL product with powerful multi-purpose engines capable of handling complex domains. Could one DBMS handle all your needs including speed and scalability in the times of Big Data? Luca will walk you through the benefits and trade-offs of multi-model DBMSs and will show you how easy it is to setup one open source database to handle many different use cases, saving you time and money.
Presented at Data Day Texas - Austin (TX) - USA
Why relationships are cool but "join" sucksLuca Garulli
Relational DBMS and Document Databases use the "JOIN" operation to connect records and documents. Is there a better way to connect things? This presentation illustrates how OrientDB manages relationships by using the same technique of Graph Databases for super fast traversal.
Switching from the Relational to the Graph modelLuca Garulli
One of the main resistences of RDBMS users to pass to a NoSQL product are related to the complexity of the model: Ok, NoSQL products are super for BigData and BigScale but what about the model?
PHP Frameworks: I want to break free (IPC Berlin 2024)Ralf Eggert
In this presentation, we examine the challenges and limitations of relying too heavily on PHP frameworks in web development. We discuss the history of PHP and its frameworks to understand how this dependence has evolved. The focus will be on providing concrete tips and strategies to reduce reliance on these frameworks, based on real-world examples and practical considerations. The goal is to equip developers with the skills and knowledge to create more flexible and future-proof web applications. We'll explore the importance of maintaining autonomy in a rapidly changing tech landscape and how to make informed decisions in PHP development.
This talk is aimed at encouraging a more independent approach to using PHP frameworks, moving towards a more flexible and future-proof approach to PHP development.
Securing your Kubernetes cluster_ a step-by-step guide to success !KatiaHIMEUR1
Today, after several years of existence, an extremely active community and an ultra-dynamic ecosystem, Kubernetes has established itself as the de facto standard in container orchestration. Thanks to a wide range of managed services, it has never been so easy to set up a ready-to-use Kubernetes cluster.
However, this ease of use means that the subject of security in Kubernetes is often left for later, or even neglected. This exposes companies to significant risks.
In this talk, I'll show you step-by-step how to secure your Kubernetes cluster for greater peace of mind and reliability.
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfPeter Spielvogel
Building better applications for business users with SAP Fiori.
• What is SAP Fiori and why it matters to you
• How a better user experience drives measurable business benefits
• How to get started with SAP Fiori today
• How SAP Fiori elements accelerates application development
• How SAP Build Code includes SAP Fiori tools and other generative artificial intelligence capabilities
• How SAP Fiori paves the way for using AI in SAP apps
Enhancing Performance with Globus and the Science DMZGlobus
ESnet has led the way in helping national facilities—and many other institutions in the research community—configure Science DMZs and troubleshoot network issues to maximize data transfer performance. In this talk we will present a summary of approaches and tips for getting the most out of your network infrastructure using Globus Connect Server.
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
Pushing the limits of ePRTC: 100ns holdover for 100 daysAdtran
At WSTS 2024, Alon Stern explored the topic of parametric holdover and explained how recent research findings can be implemented in real-world PNT networks to achieve 100 nanoseconds of accuracy for up to 100 days.
UiPath Test Automation using UiPath Test Suite series, part 4DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 4. In this session, we will cover Test Manager overview along with SAP heatmap.
The UiPath Test Manager overview with SAP heatmap webinar offers a concise yet comprehensive exploration of the role of a Test Manager within SAP environments, coupled with the utilization of heatmaps for effective testing strategies.
Participants will gain insights into the responsibilities, challenges, and best practices associated with test management in SAP projects. Additionally, the webinar delves into the significance of heatmaps as a visual aid for identifying testing priorities, areas of risk, and resource allocation within SAP landscapes. Through this session, attendees can expect to enhance their understanding of test management principles while learning practical approaches to optimize testing processes in SAP environments using heatmap visualization techniques
What will you get from this session?
1. Insights into SAP testing best practices
2. Heatmap utilization for testing
3. Optimization of testing processes
4. Demo
Topics covered:
Execution from the test manager
Orchestrator execution result
Defect reporting
SAP heatmap example with demo
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Elevating Tactical DDD Patterns Through Object CalisthenicsDorra BARTAGUIZ
After immersing yourself in the blue book and its red counterpart, attending DDD-focused conferences, and applying tactical patterns, you're left with a crucial question: How do I ensure my design is effective? Tactical patterns within Domain-Driven Design (DDD) serve as guiding principles for creating clear and manageable domain models. However, achieving success with these patterns requires additional guidance. Interestingly, we've observed that a set of constraints initially designed for training purposes remarkably aligns with effective pattern implementation, offering a more ‘mechanical’ approach. Let's explore together how Object Calisthenics can elevate the design of your tactical DDD patterns, offering concrete help for those venturing into DDD for the first time!
Welcome to the first live UiPath Community Day Dubai! Join us for this unique occasion to meet our local and global UiPath Community and leaders. You will get a full view of the MEA region's automation landscape and the AI Powered automation technology capabilities of UiPath. Also, hosted by our local partners Marc Ellis, you will enjoy a half-day packed with industry insights and automation peers networking.
📕 Curious on our agenda? Wait no more!
10:00 Welcome note - UiPath Community in Dubai
Lovely Sinha, UiPath Community Chapter Leader, UiPath MVPx3, Hyper-automation Consultant, First Abu Dhabi Bank
10:20 A UiPath cross-region MEA overview
Ashraf El Zarka, VP and Managing Director MEA, UiPath
10:35: Customer Success Journey
Deepthi Deepak, Head of Intelligent Automation CoE, First Abu Dhabi Bank
11:15 The UiPath approach to GenAI with our three principles: improve accuracy, supercharge productivity, and automate more
Boris Krumrey, Global VP, Automation Innovation, UiPath
12:15 To discover how Marc Ellis leverages tech-driven solutions in recruitment and managed services.
Brendan Lingam, Director of Sales and Business Development, Marc Ellis
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.
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.
In his public lecture, Christian Timmerer provides insights into the fascinating history of video streaming, starting from its humble beginnings before YouTube to the groundbreaking technologies that now dominate platforms like Netflix and ORF ON. Timmerer also presents provocative contributions of his own that have significantly influenced the industry. He concludes by looking at future challenges and invites the audience to join in a discussion.
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/
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
25. Schema-less
schema is not mandatory, relaxed model,
collect heterogeneous documents all together
www.orientechnologies.com
26. Schema-full
schema with constraints on fields and validation rules
Customer.age > 17
Customer.address not null
Customer.surname is mandatory
Customer.email matches 'b[A-Z0-9._%+-]+@[A-Z0-9.-]+.[A-Z]{2,4}b'
www.orientechnologies.com
27. Schema-mixed
schema with mandatory and optional fields + constraints
the best of schema-less and schema-full modes
www.orientechnologies.com
29. Complex types
collections, maps (key/value)
native support for
and embedded documents
no more additional tables to handle them
www.orientechnologies.com
30. Relationships
are direct links
no Relational JOINS to connect multiple tables
Load trees and graphs in few ms!
www.orientechnologies.com
31. SQL
select * from employee where name like '%Jay%' and status=0
www.orientechnologies.com
32. For the most of the queries
everyday a programmer needs
SQL is simpler,
more readable and
compact then
Scripting (Map/Reduce)
www.orientechnologies.com
33. SELECT SUM(price) as prices, SUM(cost) as costs, prices-costs, margin/price
FROM Balance
VS
function (key, values) {
var price = 0.0, cost = 0.0, margin = 0.0, marginPercent = 0.0;
for (var i = 0; i < values.length; i++) {
price += values[i].price;
cost += values[i].cost;
}
margin = price - cost;
marginPercent = margin / price;
return {
price: price,
cost: cost,
margin: margin,
marginPercent: marginPercent
};
}
www.orientechnologies.com
34. Asynchronous Query
invoke callback when a record matches the condition
doesn't collect the result set
perfect for immediate results
useful to compute aggregates
www.orientechnologies.com
35. ®
runs
Java
everywhere is available JRE1.5+
robust engine
www.orientechnologies.com
36. Language bindings
Java as native
JRuby, Scala and Javascript ready
C, C++, Ruby, Node.js in progress
www.orientechnologies.com
37. Your language is
not supported (yet)?
Write an adapter using the
C, Java or HTTP binding
www.orientechnologies.com
38. HTTP RESTful
firewall friendly
use it from the webbrowser
use it from the ESB (SOA)
www.orientechnologies.com
42. RB+Tree index
the best of B+Tree and RB-Tree
fast on browsing, low insertion cost
It's a new algorithm (soon public)
www.orientechnologies.com
43. OO Inheritance
Definition of Classes of documents
Classes can extend others classes
Queries are polymorphics
Contact
name : string
surname : string
Customer Provider
orders : List<Order> products : List<Product>
www.orientechnologies.com
44. Hooks
similar to triggers
catch events against records, database and transactions
implement custom cascade deletion algorithm
enforce constraints
www.orientechnologies.com
45. Fetch plans
Choose what to fetch on query and document loading
Documents not fetched will be lazy-loaded on request
Invoice
3:100
|
| customer
+---------> Customer
| 5:233
| city country
+---------> City ---------> Country
| 11:2 12:3
| orders
+--------->* [OrderItem OrderItem OrderItem]
[ 8:12 8:19 8:23 ]
www.orientechnologies.com
52. User API
Document Database
Key/Value Database Graph Database
Object Database
www.orientechnologies.com
53. Document Database
the base of all DB implementations
documents have dynamic structure
something like a smart Map<String,Object>
www.orientechnologies.com
54. Open the database
ODatabaseDocumentTx db = new ODatabaseDocumentTx( "remote:localhost/demo" );
db.open("admin", "admin");
try{
…
} finally { Open the database 'demo'
db.close(); from a remote server
}
www.orientechnologies.com
55. Create a document
ODocument doc = new ODocument( db, "Person" );
doc.field( "name", "Luke" ); Relationship
doc.field( "surname", "Skywalker" );
doc.field( "city", new ODocument("City" ).fields("name","Rome") );
doc.save();
www.orientechnologies.com
56. SQL Query
List<ODocument> result = db.query(
new OSQLSynchQuery( "select * from person where city.name = 'Rome'" ) );
for( ODocument d : result ) {
System.out.println( "Person: " + d.field( "name" ) + d.field( "surname" ) );
}
www.orientechnologies.com
57. Native Query
List<ODocument> result = new ONativeSynchQuery<ODocument,
OQueryContextNativeSchema<ODocument>>(
db, "Profile", new OQueryContextNativeSchema<ODocument>()) {
@Override
public boolean filter(OQueryContextNativeSchema<ODocument> iRecord) {
return iRecord.field("city").field("name").eq("Rome").and().field("name").like("G%").go();
};
}.setLimit(20).execute();
www.orientechnologies.com
58. Update a document
List<ODocument> result = db.query(
new OSQLSynchQuery( "select * from person where city.name = 'Rome'"));
for( ODocument d : result ) {
d.field( "local", true );
d.save();
}
// IT'S THE SAME OF:
int changed = db.command(
new OSQLCommand( "update person set local = true where city.name = 'Rome'"))
.execute();
www.orientechnologies.com
59. Delete a document
List<ODocument> result = db.query(
new OSQLSynchQuery( "select * from person where city.name = 'Rome'" ) );
for( ODocument d : result ) {
d.delete();
// IT'S THE SAME OF:
int deleted = db.command(
new OSQLCommand( "delete person where city.name = 'Rome'")).execute();
www.orientechnologies.com
61. Use hooks (triggers)
public class HookTest extends ORecordHookAbstract {
public saveProfile(){
ODatabaseObjectTx database = new ODatabaseObjectTx("remote:localhost/demo");
database.open("writer", "writer");
database.registerHook(this);
...
}
@Override
public void onRecordAfterCreate(ORecord<?> iRecord){
System.out.println("Record created successfully");
}
}
www.orientechnologies.com
62. Key/Value Database
bucket / key / value
HTTP RESTful protocol
Hazelcast plug-in to distribute database
www.orientechnologies.com
63. Key/Value = RB+Tree
works mainly using RB+Tree custom indexes
sort of Map<String,Map<String,Record>>
www.orientechnologies.com
64. Object Database
wrapper on top of Document Database
binds POJO from/to the database
no OR-Mapping complexity
no enhancement, no Java Proxies
www.orientechnologies.com
65. POJO mapping
Uses the reflection to bind POJO fields
at start-up caches reflection meta-data
1-to-1 binding
configurable options by @annotations
www.orientechnologies.com
66. Open the database
ODatabaseObjectTx db = new ODatabaseObjectTx( "remote:localhost/demo" );
db.open("admin", "admin");
try{
… Same usage of Document
Database, but the class
} finally { is different
db.close();
}
www.orientechnologies.com
67. Create a persistent POJO
Person person = new Person();
person.setName( "Luke" );
Relationship
person.setSurname( "Skywalker" );
person.setCity( new City( "Rome" ) );
db.save( person );
www.orientechnologies.com
68. Polymorphics SQL Query
List<Person> result = database.query(
new OSQLSynchQuery("select from person where city.name = 'Rome'"));
Queries are polymorphics
and subclasses of Person can be
part of result set
for( Person p : result ) {
if( p instanceof Customer )
System.out.println("Customer: " + p.getName() + “ “ + p.getSurname() );
}
www.orientechnologies.com
69. Graph Database
wrapper on top of Document Database
Few simple concepts: Vertex, Edge,
Property and Index
www.orientechnologies.com
71. TinkerPop technologies
sort of “standard” for GraphDB
a lot of free open-source projects
http://tinkerpop.com
www.orientechnologies.com
72. TinkerPop Blueprints
basic API to interact with GraphDB
implements transactional and
indexable property graph model
bidirectional edges
www.orientechnologies.com
73. GraphDB & Blueprints API
OrientGraph graph = new OrientGraph("local:/tmp/db/graph”);
Vertex actor = graph.addVertex(null);
actor.setProperty("name", "Leonardo");
actor.setProperty("surname", "Di Caprio");
Vertex movie = graph.addVertex(null);
movie.setProperty("name", "Inception");
Edge edge = graph.addEdge(null, actor, movie, "StarredIn");
graph.shutdown();
www.orientechnologies.com
74. TinkerPop
scripting language
easy to learn and understand
Used for operations against graphs
www.orientechnologies.com
75. Graph example
graph-example-1.xml
www.orientechnologies.com
76. Load graph
Run the console, open the database and load a graph in xml format
marko:~/software/gremlin$ ./gremlin.sh
,,,/
(o o)
-----oOOo-(_)-oOOo-----
gremlin> $_g := orientdb:open('/tmp/graph/test')
==>orientgraph[/tmp/graph/test]
gremlin> g:load('data/graph-example-1.xml')
==>true
gremlin> $_g
==>orientgraph[/tmp/graph/test]
www.orientechnologies.com
77. Search
Displays outgoing edges of vertices with name equals to 'marko',
then the name of inbound vertices
gremlin> g:key-v('name','marko')/outE
==>e[6:0][5:2-knows->5:1]
==>e[6:1][5:2-knows->5:4]
==>e[6:4][5:2-created->5:0]
gremlin> g:key-v('name','marko')/outE/inV/@name
==>vadas
==>josh
==>lop
gremlin> g:close()
==>true
www.orientechnologies.com
78. API resume
object, key/value and graph elements all work on top of Document
you can always access to the underlying document
changes to the document are reflected to the
object, key/value and graph elements
and viceversa
www.orientechnologies.com
79. High-Availability
Cluster of distributed server nodes
Synchronous, Asynchronous and Read-Only
replication
Load-balancing between client ↔ servers and
Servers ↔ Servers
www.orientechnologies.com
80. Synchronous scenario
Server #1 owns all the data, used for reads/writes
Server #2 is the backup replica, can be used for reads
Clients receive ack only when both are updated
Server #1 and #2 are Always Consistent
Client A Client B Client A Client B
Server #1 Server #2
(Leader+Owner) (Synchronous)
DB DB
www.orientechnologies.com
81. Asynchronous scenario
As for synchronous, but:
Server #2 is Eventually Consistent
Clients receive ack just when Server #1 is updated
Client A Client B Client A Client B
Server #1 Server #2
(Leader+Owner) (Asynchronous)
update-delay=x
DB DB
www.orientechnologies.com
82. Fail-over
Server #1 logs changes while Server #2 is disconnected
Transparent client switch to good servers (alpha status)
Running transactions will be repeated transparently (v0.9.26)
Client A Client B Client A Client B
Server #1 Server #2
(Leader+Owner) (Asynchronous)
Log
changes
DB DB
www.orientechnologies.com
83. Mixed scenario
Strict Consistency is acceptable
Use Server #1 and #2 for cases when
Use Server #3 for cases when Eventually Consistency is acceptable
Server #1
(Leader+Owner)
Server #2 Server #3
(Synchronous) update-delay=0 (Asynchronous)
DB
DB DB
www.orientechnologies.com
84. Partitioning
Cluster level granularity
Place the “owner” close to the clients to reduce latency
Server main Server USA
(Leader)
Customers
Customers
Europe
Asynchronous (update-delay=0) Europe
(owner)
Customers
Customers
Asynchronous (update-delay=0) USA
USA
(owner)
www.orientechnologies.com
85. Real world scenario I
Distribute data across multiple sites
Play with sync/asynch+delay
Keep synchronous copies close and propagate in asynch
Customers
Server Farm Europe USA
Server China
(Owner) Customers
Customers Asia
USA Server Main China Copy
(Synchronous) Customers
(Owner) Asynchronous Europe
Customers
Asia propagation
Main Copy
Customers (Synchronous)
Europe Customers
Server USA USA
(Owner)
Customers
Asia
USA Copy
(Synchronous) Customers
Europe
www.orientechnologies.com
86. Real world scenario II
Put server nodes in chain
Load-balance requests
China East
Server Copy Read-only
(Synchronous)
China West
Read-only
Server China China North
(Asynchronous) Read-only
Server Main
(Leader-Owner)
Server USA USA South
(Asynchronous) Read-only
Canada
Update European Customer: Read-only
Propagate the change
www.orientechnologies.com
87. Choose the best strategy
for your use-case
Server Copy Client B
(Synchronous)
consistent reads, Client D
delegated writes ev. consistent reads,
no writes
Server Main Server China China North
(Leader-Owner) (Asynchronous) Read-only
Client A Client C
consistent reads, ev. consistent reads,
direct writes delegates writes
www.orientechnologies.com
88. Enhanced SQL
SQL is not enough for collections, maps, trees and graphs
need to enhance SQL syntax
Easy syntax derived from JDO/JPA standards
www.orientechnologies.com
89. SQL & relationships
select from Account where address.city.country.name = 'Italy'
select from Account where addresses contains (city.country.name = 'Italy')
www.orientechnologies.com
90. SQL & trees/graphs
select from Profile where friends traverse(0,7) ( sex = 'female' )
(Soon new specific operators for trees and graphs)
www.orientechnologies.com
91. SQL & strings
select from Profile where name.toUpperCase() = 'LUCA'
select from City where country.name.substring(1,3).toUpperCase() = 'TAL'
select from Agenda where phones contains ( number.indexOf( '+39' ) > -1 )
select from Agenda where email matches 'bA-Z0-9._%+-?+@A-Z0-9.-?+.A-Z?{2,4}b'
www.orientechnologies.com
92. SQL & conversions
select from Shapes where area.toFloat() > 3.14
select from Agenda where birthDate.toDateTime() > '1976-10-26 07:00:00'
select from Workflow where completed.toBoolean() = true
www.orientechnologies.com
93. SQL & schema-less
select from Profile where any() like '%Jay%'
select from Stock where all() is not null
www.orientechnologies.com
94. SQL & collections
select from Tree where children contains ( married = true )
select from Tree where children containsAll ( married = true )
select from User where roles containsKey 'shutdown'
select from Graph where edges.size() > 0
www.orientechnologies.com
95. SQL & documents
select from Vehicle where @class = 'Car'
select from Friend where @version > 100
select from File where @size > 1000000
www.orientechnologies.com
96. Console
ORIENT database v.0.9.23 www.orientechnologies.com
Type 'help' to display all the commands supported.
> connect remote:localhost/demo admin admin
Connecting to database [remote:localhost/demo] with user 'admin'...OK
> select from profile where nick.startsWith('L')
---+--------+--------------------+--------------------+--------------------+
#| REC ID |NICK |SEX |AGE |
---+--------+--------------------+--------------------+--------------------+
0| 10:0|Lvca |male |34
1| 10:3|Leo |male |22
2| 10:7|Luisa |female |27
3 item(s) found. Query executed in 0.013 sec(s).
> close
Disconnecting from the database [demo]...OK
> quit
www.orientechnologies.com
97. OrientDB Studio/SQL query
Resultset is editable and
changes are immediately
persistent!
www.orientechnologies.com
100. Always Free
Open Source Apache 2 license
free for any purposes,
even commercials
www.orientechnologies.com
101. Prof€$$ional
$€rvic€$
by a network of companies through
Orient Technologies
support, training, consulting, mentoring
www.orientechnologies.com
102. OrientDB OrientDB
for Java developers Master Development
8 hours 14 hours
OrientDB OrientDB
for SOA and the power of graphs
6 hours 6 hours
OrientDB OrientPlanet
for DBA for Web Developers
6 hours 6 hours
www.orientechnologies.com
103. Certification Program
to be part of the network
do courses
share revenues for support
work as consultant
Contact
commercial@orientechnologies.com
www.orientechnologies.com
104. Luca Garulli
Author of OrientDB and
Roma <Meta> Framework
Open Source projects,
Member of JSR#12 (jdo 1.0) and
JSR#243 (jdo 2.0)
CTO at Asset Data and Orient
www.twitter.com/lgarulli Technologies
@Rome, Italy Technical Manager at
Romulus consortium
www.orientechnologies.com