La presentazione di Giorgio Desideri per il Codemotion del 5 marzo 2011 a Roma http://www.codemotion.it/
Un differente approccio alla progettazione e realizzazione di modelli di dati basati su paradigmi diversi da Entità-Relazione. Analisi delle maggiori prestazioni e scalabilità di questi sistemi sui sistemi di archiviazione SQL. Studio dei paradigmi di base su cui è basato il sistema di storage. Integrazione nelle normali applicazioni e trucchi&soluzioni derivanti dall'esperienza diretta di utilizzo.
This document provides an overview of NoSQL databases, including their data models, features, and examples. It discusses key-value, column-oriented, and document databases and how they each organize data differently. Examples of popular NoSQL databases are also given for each type, such as Redis, Cassandra, and MongoDB. The document concludes by listing important factors to consider when choosing a NoSQL database, such as support for the CAP theorem, data centers, performance, and business needs.
NoSQL Data Stores: Introduzione alle Basi di Dati Non Relazionali
Seconda parte del seminario su NoSQL al DiTeDi di Udine del 15/12/2012. Presentata un'introduzione sulle basi di dati non relazionali e sulle implicazioni che le loro caratteristiche hanno nello sviluppo di applicazioni enterprise.
Semplice introduzione ai DBMS e al linguaggio SQL (con attenzione verso pgsql). Ispirato da Appunti di Informatica Libera - http://informaticalibera.net/
La questione del tempo nei dati - Database TemporaliAndrea Gottardi
This presentation will talk about Temporal Database, a technology that is present in every system we know, but not everyone who works with it can understand the inner workings..
Dopo anni di dominio incontrastato da parte dei database relazionali assistiamo ad un'incredibile proliferazione di soluzioni alternative.
Questa presentazione fornirà una mappa per navigare nel vasto mare dei database non relazionali senza andare alla deriva.
This document provides an overview of NoSQL databases, including their data models, features, and examples. It discusses key-value, column-oriented, and document databases and how they each organize data differently. Examples of popular NoSQL databases are also given for each type, such as Redis, Cassandra, and MongoDB. The document concludes by listing important factors to consider when choosing a NoSQL database, such as support for the CAP theorem, data centers, performance, and business needs.
NoSQL Data Stores: Introduzione alle Basi di Dati Non RelazionaliSteve Maraspin
Seconda parte del seminario su NoSQL al DiTeDi di Udine del 15/12/2012. Presentata un'introduzione sulle basi di dati non relazionali e sulle implicazioni che le loro caratteristiche hanno nello sviluppo di applicazioni enterprise.
Semplice introduzione ai DBMS e al linguaggio SQL (con attenzione verso pgsql). Ispirato da Appunti di Informatica Libera - http://informaticalibera.net/
Accelera lo sviluppo con il web framework! Componenti a supporto dello svilup...Tsuneo Kurihara
Framework sì o framework no?
Direi proprio di sì! In questa presentazione faccio una panoramica di quello che è un web framework, cosa offre e quali sono i vantaggi.
Slides made for the third apointment of the three lessons course "Xamarin Introduction", kept at the Politecnico di Milano.
These are the slides used to present how to use SQLite in a Xamarin.Forms app.
I Graph Database: analisi del comportamento degli utentiThinkOpen
Roberto Grandi, esperto di Data Analytics & Business Intelligence, presenta il workshop “I Graph Database: analisi del comportamento degli utenti”.
Nell’incontro Roberto esplora il mondo dei graph database, strumenti poco conosciuti ma molto intuitivi e potenti per rappresentare le relazioni online in modo del tutto naturale.
Nella presentazione viene illustrato come è cambiato il concetto di relazione applicandolo ad uno use case specifico: l'analisi del comportamento dell'utente e dei suoi gusti. Saper riconoscere la propensione e determinare con accuratezza la prossima mossa dell’user è fondamentale per allocare le risorse corrette dal punto di vista del business.
Durante una sessione pratica vengono mostrati i costrutti base del linguaggio Cypher con Neo4J e alcuni algoritmi utili a caratterizzare il comportamento del cliente.
Note di Data Warehouse e Business Intelligence - Tecniche di Naming Conventio...Massimo Cenci
La naming convention è una componente fondamentale di ogni progetto informatico.
L’obiettivo di questo articolo è quello di suggerire uno standard di nomenclatura pratico ed efficace per un progetto di Data Warehouse.
(parte 2)
2016 02-24 - Piattaforme per i Big DataAlberto Paro
Saper valutare la corretta soluzione NoSQL o soluzione Big Data per il proprio business è essenziale. Non tutti i datastore NoSQL sono uguali come non sono uguali le necessità di trattamento del dato nel proprio business. Cerchiamo di fare chiarezza sui temi principali del Big Data.
DotNetCampus - Continuous Integration con Sql ServerAlessandro Alpi
Continuous Integration con SQL Server. Come automatizzare i processi di build e di test su database SQL Server. Come includere SQL Server nei processi di Application Lifecycle Management (Database Lifecycle Management).
La continuous integration, ovvero un insieme di pratiche di sviluppo atte a rilasciare frequentemente le modifiche al nostro codice, può essere applicata anche a SQL Server. In questa sessione andremo a descrivere come mettere sotto controllo del codice sorgente i nostri database in un'ottica di teamwork e, successivamente, a capire come automatizzare il processo di test unitario al fine di prevenire regressioni e correggere quanto prima bug.
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...Codemotion
Increased complexity makes it very hard and time-consuming to keep your software bug-free and secure. We introduce fuzz-testing as a method for automatically and continuously discovering vulnerabilities hidden in your code. The talk will explain how fuzzing works and how to integrate fuzz-testing into your Software Development Life Cycle to increase your code’s security.
Pompili - From hero to_zero: The FatalNoise neverending storyCodemotion
It was 1993 when we decided to venture in a beat'em up game for Amiga. The Catalypse's success story pushed me and my comrade to create something astonishing for this incredible game machine... but things went harder, assumptions were slightly different, and italian competitors appeared out of nowhere... the project died in 1996. Story ended? Probably not...
Il Commodore 65 è un prototipo di personal computer che Commodore avrebbe dovuto mettere in commercio quale successore del Commodore 64. Purtroppo la sua realizzazione si fermò appunto allo stadio prototipale. Racconterò l'affascinante storia del suo sviluppo ed il perchè della soppressione del progetto ormai ad un passo dalla immissione in commercio.
Rivivere l'ebbrezza di progettare un vecchio computer o una consolle da bar è oggi possibile sfruttando le FPGA, ovvero logiche programmabili che consentono a chiunque di progettare il proprio hardware o di ricrearne uno del passato. In questa sessione si racconta come dal reverse engineering dell'hardware di vecchie glorie come il Commodore 64 e lo ZX Spectrum sia stato possibile farle rivivere attraverso tecnologie oggi alla portata di tutti.
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...Codemotion
There's a lot of talk about blockchain, but how does the technology behind it actually work? For developers, getting some hands-on experience is the fastest way to get familiair with new technologies. So let's build a blockchain, then! In this session, we're going to build one in plain old Java, and have it working in 40 minutes. We'll cover key concepts of a blockchain: transactions, blocks, mining, proof-of-work, and reaching consensus in the blockchain network. After this session, you'll have a better understanding of core aspects of blockchain technology.
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019Codemotion
When was the last time you were truly lost? Thanks to the maps and location technology in our phones, a whole generation has now grown up in a world where getting lost is truly a thing of the past. Location technology goes far beyond maps in the palm of our hand, however. In this talk, we will explore how a ridesharing app works. How do we discover our destination?How do we find the closest driver? How do we display this information on a map? How do we find the best route?To answer these questions,we will be learning about a variety of location APIs, including Maps, Positioning, Geocoding etc.
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019Codemotion
Eward Driehuis, SecureLink's research chief, will guide you through the bumpy ride we call the cyber threat landscape. As the industry has over a decade of experience of dealing with increasingly sophisticated attacks, you might be surprised to hear more attacks slip through the cracks than ever. From analyzing 20.000 of them in 2018, backed by a quarter of a million security events and over ten trillion data points, Eward will outline why this happens, how attacks are changing, and why it doesn't matter how neatly or securely you code.
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 - Codemotion
IoT revolution is ended. Thanks to hardware improvement, building an intelligent ecosystem is easier than never before for both startups and large-scale enterprises. The real challenge is now to connect, process, store and analyze data: in the cloud, but also, at the edge. We’ll give a quick look on frameworks that aggregate dispersed devices data into a single global optimized system allowing to improve operational efficiency, to predict maintenance, to track asset in real-time, to secure cloud-connected devices and much more.
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...Codemotion
What if Virtual Reality glasses could transform your environment into a three-dimensional work of art in realtime in the style of a painting from Van Gogh? One of the many interesting developments in the field of Deep Learning is the so called "Style Transfer". It describes a possibility to create a patchwork (or pastiche) from two images. While one of these images defines the the artistic style of the result picture, the other one is used for extracting the image content. A team from TNG Technology Consulting managed to build an AI showcase using OpenCV and Tensorflow to realize such goggles.
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...Codemotion
The document summarizes some of the security issues with blockchain technology. It discusses how blockchain is not a "silver bullet" and does not inherently solve problems like privacy and security of smart devices. It outlines various application security issues with complex code, protocols, and difficulty of updates on blockchains. Concerns over data immutability and security of smart contracts are also covered. The document questions whether blockchain truly provides the level of decentralization and anonymity claimed, and outlines some impossibility results and limitations of existing approaches to achieving security and privacy in blockchain systems.
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...Codemotion
The document provides an overview of the HTTP network protocol in its early stages of development. It summarizes the initial IMP (Interface Message Processor) software used to establish connections and transmit messages over the ARPANET. It outlines some early requirements for host-to-host software to enable simple and advanced use between computer systems. The document also describes the initial host software specifications, including establishing connections, transmitting data efficiently, and implementing error checking between connected systems. This was one of the first documents to define core aspects of the early HTTP network protocol to enable information exchange over the fledgling internet.
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...Codemotion
Performance tests are not only an important instrument for understanding a system and its runtime environment. It is also essential in order to check stability and scalability – non-functional requirements that might be decisive for success. But won't my cloud hosting service scale for me as long as I can afford it? Yes, but… It only operates and scales resources. It won't automatically make your system fast, stable and scalable. This talk shows how such and comparable questions can be clarified with performance tests and how DevOps teams benefit from regular test practise.
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019Codemotion
Sascha will demonstrate the opportunities and challenges of Conversational AI learned from the practice. Both Technology and User Experience will be covered introducing a process finding micro-moments, writing happy paths, gathering intents, designing the conversational flow, and finally publishing on almost all channels including Voice Services and Chatbots. Valuable for enterprises, developers, and designers. All live on stage in just minutes and with almost no code.
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019Codemotion
A key challenge we face at Pacmed is quickly calibrating and deploying our tools for clinical decision support in different hospitals, where data formats may vary greatly. Using Intensive Care Units as a case study, I’ll delve into our scalable Python pipeline, which leverages Pandas’ split-apply-combine approach to perform complex feature engineering and automatic quality checks on large time-varying data, e.g. vital signs. I’ll show how we use the resulting flexible and interpretable dataframes to quickly (re)train our models to predict mortality, discharge, and medical complications.
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019Codemotion
Coolblue is a proud Dutch company, with a large internal development department; one that truly takes CI/CD to heart. Empowerment through automation is at the heart of these development teams, and with more than 1000 deployments a day, we think it's working out quite well. In this session, Pat Hermens (a Development Managers) will step you through what enables us to move so quickly, which tools we use, and most importantly, the mindset that is required to enable development teams to deliver at such a rapid pace.
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...Codemotion
Quantum computers can use all of the possible pathways generated by quantum decisions to solve problems that will forever remain intractable to classical compute power. As the mega players vie for quantum supremacy and Rigetti announces its $1M "quantum advantage" prize, we live in exciting times. IBM-Q and Microsoft Q# are two ways you can learn to program quantum computers so that you're ready when the quantum revolution comes. I'll demonstrate some quantum solutions to problems that will forever be out of reach of classical, including organic chemistry and large number factorisation.
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...Codemotion
Chinese food exploded across America in the early 20th century, rapidly adapting to local tastes while also spreading like wildfire. How was it able to spread so fast? The GY6 is a family of scooter engines that has achieved near total ubiquity in Europe. It is reliable and cheap to manufacture, and it's made in factories across China. How are these factories able to remain afloat? Chinese-American food and the GY6 are both riveting studies in product-market fit, and both are the product of a distributed open source-like development model. What lessons can we learn for open source software?
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019Codemotion
The design space has exploded in size within the last few years and Sketch is one of the most important milestones to represent the phenomenon. But behind the scenes of this growing reality there is a remote team that revolutionizes the design space all without leaving the home office. This talk will present how Sketch has grown to become a modern, product designer's tool.
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019Codemotion
Would you fly in a plane designed by a craftsman or would you prefer your aircraft to be designed by engineers? We are learning that science and empiricism works in software development, maybe now is the time to redefine what “Software Engineering” really means. Software isn't bridge-building, it is not car or aircraft development either, but then neither is Chemical Engineering. Engineering is different in different disciplines. Maybe it is time for us to begin thinking about retrieving the term "Software Engineering" maybe it is time to define what our "Engineering" discipline should be.
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019Codemotion
What is the job of a CTO and how does it change as a startup grows in size and scale? As a CTO, where should you spend your focus? As an engineer aspiring to be a CTO, what skills should you pursue? In this inspiring and personal talk, I describe my journey from early Red Hat engineer to CTO at Bloomon. I will share my view on what it means to be a CTO, and ultimately answer the question: Should the CTO be coding?
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Database NO-SQL: Anything else ?
1. Database NO-SQL: Anything else ?
Giorgio Desideri
giorgio.desideri@gmail.com
<nome relatore> - <e-mail> – <azienda o community>
2. Database NO-SQL: Anything else ?
Stato dell'arte:
Modello E-R (Entità – Relazione);
Linguaggio SQL, linguaggio formale e dichiarativo
Prestazioni legate esclusivamente al “EngineSQL”, colui che interpreta la
query sql (spesso legate al prodotto utilizzato)
Scalabilità / Robustezza / Prestazioni derivanti dalla realizzazione utilizzata
(modello, strumenti e dati)
Pag. 2 / 24 <nome relatore> - <e-mail> – <azienda o community>
4. Database NO-SQL: Anything else ?
Linguaggio SQL:
linguaggio formale
Derivato da una grammatica definita
Definizione degli operatori
linguaggio dichiarativo
Definisce “cosa” voglio
Realizzazione spetta all'interprete dei comandi che mi restituirà quello che io ho
dichiarato nella mia query
Pag. 4 / 24 <nome relatore> - <e-mail> – <azienda o community>
5. Database NO-SQL: Anything else ?
Caratteristiche
Generalità: è un modello formale e generale che permette la costruzioni di “qualsiasi”
modello reale
Robustezza: definizione di cosa voglio deve essere completa alla mia idea, altrimenti
ottengo qualche altra cosa
Scalabilità: espansione sia in prestazioni che in funzionalità legate all'architettura
utilizzata dal EngineSQL utilizzato
Pag. 5 / 24 <nome relatore> - <e-mail> – <azienda o community>
7. Database NO-SQL: Anything else ?
< Key , Value >
2 oggetti
Definizione di una struttura generale
“Datemi un punto d'appoggio
e vi solleverò il mondo”
(Archimede Siracusano)
Pag. 7 / 24 <nome relatore> - <e-mail> – <azienda o community>
9. Database NO-SQL: Anything else ?
Importanza della progettazione
Modello dei dati
COSA è “KEY” ?
COSA è “VALUE” ?
Ricerca del modello “ottimale”
Analisi nell'interezza del modello reale dei dati
Decomposizione/Composizione, interconnessione degli oggetti
Paradigma NON CONTEXT-FREE, anzi CONTEXT-DRIVEN
Pag. 9 / 24 <nome relatore> - <e-mail> – <azienda o community>
10. Database NO-SQL: Anything else ?
Perché SI ai NO-SQL DB ? Perché NO ai No-Sql DB ?
Gestione grandi moli di dati (Gb, Tb, Eb) Modello non generale, la cui efficienza
Scalabilità (architettura e data-model) è strettamente legata al modello di
rappresentazione dei dati
Prestazioni
Progettazione feature a carico
dell'utente
Software-Legacy
Pag. 10 / 24 <nome relatore> - <e-mail> – <azienda o community>
13. Database NO-SQL: Anything else ?
Database basato su Apache Hadoop
Modello funzionale <Map, Reduce> basato interamente sul paradigma <Key, Value>
Based on:
Table
Row
ColumnFamily
Architettura generale e scalabile basata su schemi funzionali di Hadoop, e distribuita su
HDFS
Pag. 13 / 24 <nome relatore> - <e-mail> – <azienda o community>
14. Database NO-SQL: Anything else ?
Sistema di storage indipendente, per grandi moli di dati, <Key, Value>
structured
Modello di rappresentazione dei dati astratto, basato su ROW / (Super)
COLUMN FAMILY e UID.
KEY VALUE
COLUMN FAMILY SUPER COLUMN FAMILY
UID COLUMN 1 COLUMN 2 COLUMN FAMILY 1 COLUMN FAMILY 2
COLUMN 1 COLUMN 2 COLUMN 1
Pag. 14 / 24 <nome relatore> - <e-mail> – <azienda o community>
15. Database NO-SQL: Anything else ?
COLUMN : entità di base, costituita da “Nome:Valore”. I vari data types dei valori possibili
sono riassunti nelle seguenti tipologie:
BytesType, AsciiType, UTF8Type, LongType, LexicalUUIDType e TimeUUIDType
Colum FAMILY: entità che raggruppa una o più Column (VALUE), subordinandole a un
valore chiave (KEY)
SUPER Column FAMILY: estensione maggiore della Column Family. Questa entità
subordina una o più column family ad un valore chiave (KEY)
UID: chiave assoluta della ROW composta dalle entità citate
Pag. 15 / 24 <nome relatore> - <e-mail> – <azienda o community>
16. Database NO-SQL: Anything else ?
ColumnFamily: “Users”
KEY (UTF8Type) VALUE
“Ciccio Pasticcio” Columns
Name Value
“email” ciccio.pasticcio@email.com
“nazione” “Italia”
Pag. 16 / 24 <nome relatore> - <e-mail> – <azienda o community>
17. Database NO-SQL: Anything else ?
<Keyspace Name="Database">
<ColumnFamily CompareWith="UTF8Type" Name="Users"/>
...
</Keyspace>
Definizione della chiave della ColumnFamily chiamata “Users”
Nessuna definizione del campo Value, ovvero delle possibili Column che sono
presenti nella ColumnFamily
Riconducibile ad un esempio di matrice “frastagliata”
Pag. 17 / 24 <nome relatore> - <e-mail> – <azienda o community>
18. Database NO-SQL: Anything else ?
SuperColumnFamily: “Posts”
KEY (UTF8Type) VALUE
“Argomento SuperColumns
del giorno” Key Value
“Iniziative” Columns
Name Value
“titolo” “Codemotion”
“Spese” “...”
Pag. 18 / 24 <nome relatore> - <e-mail> – <azienda o community>
20. Database NO-SQL: Anything else ?
Generalità
Modello E-R e SQL riconducibile in questo modello
Robustezza
Controllo del risultato cercato sulle “matrici frastagliate”
Replica dei dati
Prestazioni
La row non può superare i 2GB di dimensione
Clustering
Pag. 20 / 24 <nome relatore> - <e-mail> – <azienda o community>