SlideShare a Scribd company logo
1 of 72
Download to read offline
“
popuść wodze fantazji,
chcemy żeby ludzie na
sali mieli prawdziwy
segfault,
1
Czy sprzedawcy
SQLowych baz
danych nas
oszukali?
@pankowecki
Rails
EventStore
Ruby + Rails + SQL Event Store
3
EventStore? What?
Publish/Write Events
Read Events
4
Publish
event = OrderPlaced.new(data: {
order_id: 1,
order_data: "sample",
festival_id: "b2d506fd-409d-4ec7"
})
event_store.publish_event(
event,
stream_name: "order_1"
)
5
Usecases
◂ Event Sourcing
◂ Just a technical log
6
Target apps
◂ Greenfields
◂ CQRS
◂ DDD
◂ Event Sourcing
◂ Legacy apps
◂ Most of my life
7
1.
Stream
Publish to a stream!
event = OrderPlaced.new(data: {
order_id: 1,
order_data: "sample",
festival_id: "b2d506fd-409d-4ec7"
})
event_store.publish_event(
event,
stream_name: "order_1",
expected_position: 0,
)
9
Stream = Named sequence of events. order_1
10
1
OrderPlacedcustom
erId:452,
totalPrice:887.21,
2
OrderPaidpaym
entGatew
ay:PayU
3
OrderShipped
postalService:DHL
SQL
ID StreamName Position Type Data
1 order_1 0 OrderPlaced ...
10 order_1 1 OrderShipped ...
23 order_1 2 OrderPaid ...
11
What if…?
2- 100
concurrent writes
to the same stream
It depends!
Every IT consultant, ever!
13
Concurrency level depends on use-cases
Event Sourcing
Optimistic or pessimistic
lock.
1 concurrent write to the
same stream.
Entity state depends on
previous events
Technical Log
Unlimited concurrency
on writes to the same
stream.
Independent events.
14
Event Sourcing
ID StreamName Position Type Data
1 order_1 0 OrderPlaced ...
10 order_1 1 OrderShipped ...
23 order_1 2 OrderPaid ...
15
Technical Log
ID StreamName Position Type Data
1 Wrocław NULL OrderPlaced ...
10 Wrocław NULL OrderPlaced ...
11 Wrocław NULL OrderPaid ...
16
1.
EventStore
as
Queue
EventStore as Queue
18
205
FriendInvited
friend_id: 1000004
204
UserRegistered
fb_id: 1000004
203
OrderPaid
order_id: 2f5b
202
OrderPlaced
order_id: 2f5b
fck MQ
All events = Global Stream
ID StreamName Position Type Data
1 global NULL OrderPlaced ...
2 global NULL OrderShipped ...
3 global NULL OrderPaid ...
20
21
22
2 solutions (that I know of) ...
Linearize all writes!
No transactions or short
transactions.
Transactions/Commits
occur one-by-one.
Global, defined order all
events (across all streams)
Workaround
But… how?
23
1.
0. linearize writes
25
All events = Global Stream (linearized writes)
ID StreamName Position Type Data
1 global 0 OrderPlaced ...
2 global 1 OrderShipped ...
3 global 2 OrderPaid ...
26
Target apps
◂ Greenfields
◂ CQRS
◂ DDD
◂ Event Sourcing
◂ Legacy apps
◂ Most of my life
27
Workarounds
(dragons)
1.
1. Postgres logical
replication
WAL
Write-Ahead Logging
DBs already know how to sync
between primary node and replicas...
Postgres logical
replication
30
31
INSERT INTO data(data) VALUES('3');
SELECT * FROM pg_logical_slot_peek_changes('regression_slot', NULL, NULL);
location | xid | data
-----------+-----+-----------------------------------------------
0/16E09C0 | 690 | BEGIN 690
0/16E09C0 | 690 | table public.data: INSERT: id[integer]:3 data[text]:'3'
0/16E0B90 | 690 | COMMIT 690
(3 rows)
“
Logical decoding takes the database’s write-ahead
log (WAL), and gives us access to row-level change
events: every time a row in a table is inserted,
updated or deleted, that’s an event.
Those events are grouped by transaction, and
appear in the order in which they were committed
to the database. Aborted/rolled-back transactions
do not appear in the stream.
Thus, if you apply the change events in the same
order, you end up with an exact, transactionally
consistent copy of the database. 32
“
The Postgres logical decoding is well designed: it
even creates a consistent snapshot that is
coordinated with the change stream.
You can use this snapshot to make a point-in-time
copy of the entire database (without locking — you
can continue writing to the database while the
copy is being made),
and then use the change stream to get all writes
that happened since the snapshot.
33
Wow!
great success!
34
“ Before you can use logical decoding,
you must set wal_level to logical and
max_replication_slots to at least 1.
35
“ The output plugin must be written in C
using the Postgres extension
mechanism, and loaded into the
database server as a shared library.
This requires superuser privileges and
filesystem access on the database
server, so it’s not something to be
undertaken lightly
36
“ This is all replication-based !!!
What happens when the client
(replica) stops working?
37
Maybe not
so great!
Custom team?
DevOps?
Monitoring?
Hosted Postgres
Go for it!
38
1.
2. xmin for the rescue
40
41
SELECT *
FROM event_store_events_in_streams
ORDER BY id ASC
WHERE stream = 'global'
AND
id > last_seen_id
AND
xmin < txid_snapshot_xmin(txid_current_snapshot())
42
Thread1: [1] [3]
Thread2: [2 ]
Query: Q
OK!
43
Thread1: [1] [2, 4]
Thread2: [3, ]
Query: Q
FAIL!
1.
3. transaction_id
in record and sync
transaction by
transaction
TransID = txid_current()
ID TransID Type Data
1 3 OrderPlaced ...
2 3 OrderShipped ...
3 4 OrderPaid ...
45
46
SELECT *
FROM event_store_events_in_streams
ORDER BY trans_id, id ASC
WHERE stream = 'global' AND
(
trans_id > last_trans_id
OR (
trans_id = last_trans_id AND
id > last_id
) AND
trans_id < txid_snapshot_xmin(txid_current_snapshot())
It works!
i think ;) but…
it waits for longest transaction
even if does not write events
47
1.
4. Escape MVCC with
locks… seriously….
49
beyond MVVC in PGSQL
There are a few ways in-progress transactions can
communicate and affect each other:
● Via a shared client application (of course)
● SEQUENCE (and SERIAL) updates happen
immediately, not at commit time
● advisory locking
● Normal row and table locking, but within the
rules of READ COMMITTED visibility
● UNIQUE and EXCLUSION constraints
50
51
SELECT
pg_advisory_lock(0) as getGlobalLock,
nextval('id_seq') as c1,
currval('id_seq') as c2,
pg_advisory_xact_lock(currval('id_seq')) as eid,
setval('id_seq', currval('id_seq') + size-1),
pg_advisory_unlock(0) as releaseGlobalLock,
before inserting events...
52SELECT pg_try_advisory_xact_lock_shared(1)
It works!
i think ;) but…
it waits for longest transaction
which writes events
Call me crazy? Maybe?
53
1.
EventStore as
Queue
=
synchronize append
only table
Solutions summary
◂ linearizing writies
◂ unsuitable for cloud
◂ not working
◂ max delay: longest transaction
◂ max delay: longest transaction which
writes events
55
no kurwa...
gimme WAL, stupid!
Czy sprzedawcy
SQLowych baz
danych nas
oszukali?
● Use presented
solutions
● 2-* DBs
● another
DB/EventStore
●
datalog?
We (IT industry)
suck at
exchanging data
CDC
Change
Data
Capture
64
65
debezium.io
CRDT
Convergent
Replicated
Data
Types
“
MC-Sets resolve divergent histories for an
element by choosing the value which has
changed the most. You cannot delete an
element which is not present, and cannot
add an element which is already present.
MC-sets are compact and do the right
thing when changes to elements are
infrequent compared to the conflict
resolution window, but behave arbitrarily
when divergent histories each include
many changes. 68
“
Each element e is associated with an
integer n, implicitly assumed to be zero.
When n is even, the element is absent
from the set. When n is odd, the element
is present. To add an element to the set,
increment n from an even value by one; to
remove an element, increment n from an
odd value by one. To merge sets, take
each element and choose the maximum
value of n from each history.
69
“
{
'type': 'mc-set',
'e': [
['a', 1],
['b', 2],
['c', 3]
]
70
71
Thanks!
Any questions?
You can find us at
◂ @pankowecki
◂ @arkency
Credits
◂ https://www.confluent.io/blog/bottled-water-real-time-integration-of-postgre
sql-and-kafka/
◂ https://www.postgresql.org/docs/10/static/logicaldecoding.html
◂ https://www.slideshare.net/GrokkingVN/grokking-techtalk-20-postgresql-int
ernals-101
◂ https://stackoverflow.com/questions/33646012/postgresql-transaction-isolatio
n-read-uncommitted
◂ https://stackoverflow.com/questions/49201826/is-postgresl-serial-guaranteei
ng-no-gaps-within-single-insert-statement
◂ https://github.com/aphyr/meangirls
◂
72

More Related Content

What's hot

Introduction to Data Warehouse
Introduction to Data WarehouseIntroduction to Data Warehouse
Introduction to Data WarehouseShanthi Mukkavilli
 
How to Achieve Fast Data Performance in Big Data, Logical Data Warehouse, and...
How to Achieve Fast Data Performance in Big Data, Logical Data Warehouse, and...How to Achieve Fast Data Performance in Big Data, Logical Data Warehouse, and...
How to Achieve Fast Data Performance in Big Data, Logical Data Warehouse, and...Denodo
 
Data Warehouse Basic Guide
Data Warehouse Basic GuideData Warehouse Basic Guide
Data Warehouse Basic Guidethomasmary607
 
Datawarehousing and Business Intelligence
Datawarehousing and Business IntelligenceDatawarehousing and Business Intelligence
Datawarehousing and Business IntelligencePrithwis Mukerjee
 
Power BI Create lightning fast dashboard with power bi & Its Components
Power BI Create lightning fast dashboard with power bi & Its Components Power BI Create lightning fast dashboard with power bi & Its Components
Power BI Create lightning fast dashboard with power bi & Its Components Vishal Pawar
 
Enterprise Data Management
Enterprise Data ManagementEnterprise Data Management
Enterprise Data ManagementBhavendra Chavan
 
Enabling a Data Mesh Architecture and Data Sharing Culture with Denodo
Enabling a Data Mesh Architecture and Data Sharing Culture with DenodoEnabling a Data Mesh Architecture and Data Sharing Culture with Denodo
Enabling a Data Mesh Architecture and Data Sharing Culture with DenodoDenodo
 
Delivering Data Democratization in the Cloud with Snowflake
Delivering Data Democratization in the Cloud with SnowflakeDelivering Data Democratization in the Cloud with Snowflake
Delivering Data Democratization in the Cloud with SnowflakeKent Graziano
 
A Practical Enterprise Feature Store on Delta Lake
A Practical Enterprise Feature Store on Delta LakeA Practical Enterprise Feature Store on Delta Lake
A Practical Enterprise Feature Store on Delta LakeDatabricks
 
Power BI Report Server Enterprise Architecture, Tools to Publish reports and ...
Power BI Report Server Enterprise Architecture, Tools to Publish reports and ...Power BI Report Server Enterprise Architecture, Tools to Publish reports and ...
Power BI Report Server Enterprise Architecture, Tools to Publish reports and ...Vishal Pawar
 
Dw & etl concepts
Dw & etl conceptsDw & etl concepts
Dw & etl conceptsjeshocarme
 
DATA WAREHOUSE -- ETL testing Plan
DATA WAREHOUSE -- ETL testing PlanDATA WAREHOUSE -- ETL testing Plan
DATA WAREHOUSE -- ETL testing PlanMadhu Nepal
 
Power BI Architecture
Power BI ArchitecturePower BI Architecture
Power BI ArchitectureArthur Graus
 
An Overview of Spanner: Google's Globally Distributed Database
An Overview of Spanner: Google's Globally Distributed DatabaseAn Overview of Spanner: Google's Globally Distributed Database
An Overview of Spanner: Google's Globally Distributed DatabaseBenjamin Bengfort
 

What's hot (20)

Introduction to Data Warehouse
Introduction to Data WarehouseIntroduction to Data Warehouse
Introduction to Data Warehouse
 
ETL Technologies.pptx
ETL Technologies.pptxETL Technologies.pptx
ETL Technologies.pptx
 
How to Achieve Fast Data Performance in Big Data, Logical Data Warehouse, and...
How to Achieve Fast Data Performance in Big Data, Logical Data Warehouse, and...How to Achieve Fast Data Performance in Big Data, Logical Data Warehouse, and...
How to Achieve Fast Data Performance in Big Data, Logical Data Warehouse, and...
 
Data Warehouse Basic Guide
Data Warehouse Basic GuideData Warehouse Basic Guide
Data Warehouse Basic Guide
 
Datawarehousing and Business Intelligence
Datawarehousing and Business IntelligenceDatawarehousing and Business Intelligence
Datawarehousing and Business Intelligence
 
Talend Metadata Bridge
Talend Metadata BridgeTalend Metadata Bridge
Talend Metadata Bridge
 
Data warehouse
Data warehouseData warehouse
Data warehouse
 
Power BI Ecosystem
Power BI EcosystemPower BI Ecosystem
Power BI Ecosystem
 
Power BI Create lightning fast dashboard with power bi & Its Components
Power BI Create lightning fast dashboard with power bi & Its Components Power BI Create lightning fast dashboard with power bi & Its Components
Power BI Create lightning fast dashboard with power bi & Its Components
 
Enterprise Data Management
Enterprise Data ManagementEnterprise Data Management
Enterprise Data Management
 
Enabling a Data Mesh Architecture and Data Sharing Culture with Denodo
Enabling a Data Mesh Architecture and Data Sharing Culture with DenodoEnabling a Data Mesh Architecture and Data Sharing Culture with Denodo
Enabling a Data Mesh Architecture and Data Sharing Culture with Denodo
 
Delivering Data Democratization in the Cloud with Snowflake
Delivering Data Democratization in the Cloud with SnowflakeDelivering Data Democratization in the Cloud with Snowflake
Delivering Data Democratization in the Cloud with Snowflake
 
A Practical Enterprise Feature Store on Delta Lake
A Practical Enterprise Feature Store on Delta LakeA Practical Enterprise Feature Store on Delta Lake
A Practical Enterprise Feature Store on Delta Lake
 
Power BI Report Server Enterprise Architecture, Tools to Publish reports and ...
Power BI Report Server Enterprise Architecture, Tools to Publish reports and ...Power BI Report Server Enterprise Architecture, Tools to Publish reports and ...
Power BI Report Server Enterprise Architecture, Tools to Publish reports and ...
 
Data warehousing
Data warehousingData warehousing
Data warehousing
 
DATA WAREHOUSING
DATA WAREHOUSINGDATA WAREHOUSING
DATA WAREHOUSING
 
Dw & etl concepts
Dw & etl conceptsDw & etl concepts
Dw & etl concepts
 
DATA WAREHOUSE -- ETL testing Plan
DATA WAREHOUSE -- ETL testing PlanDATA WAREHOUSE -- ETL testing Plan
DATA WAREHOUSE -- ETL testing Plan
 
Power BI Architecture
Power BI ArchitecturePower BI Architecture
Power BI Architecture
 
An Overview of Spanner: Google's Globally Distributed Database
An Overview of Spanner: Google's Globally Distributed DatabaseAn Overview of Spanner: Google's Globally Distributed Database
An Overview of Spanner: Google's Globally Distributed Database
 

Similar to Robert Pankowecki - Czy sprzedawcy SQLowych baz nas oszukali?

Unlocking Your Hadoop Data with Apache Spark and CDH5
Unlocking Your Hadoop Data with Apache Spark and CDH5Unlocking Your Hadoop Data with Apache Spark and CDH5
Unlocking Your Hadoop Data with Apache Spark and CDH5SAP Concur
 
Dissecting Real-World Database Performance Dilemmas
Dissecting Real-World Database Performance DilemmasDissecting Real-World Database Performance Dilemmas
Dissecting Real-World Database Performance DilemmasScyllaDB
 
Structuring Spark: DataFrames, Datasets, and Streaming by Michael Armbrust
Structuring Spark: DataFrames, Datasets, and Streaming by Michael ArmbrustStructuring Spark: DataFrames, Datasets, and Streaming by Michael Armbrust
Structuring Spark: DataFrames, Datasets, and Streaming by Michael ArmbrustSpark Summit
 
Scalding big ADta
Scalding big ADtaScalding big ADta
Scalding big ADtab0ris_1
 
Beyond the Query – Bringing Complex Access Patterns to NoSQL with DataStax - ...
Beyond the Query – Bringing Complex Access Patterns to NoSQL with DataStax - ...Beyond the Query – Bringing Complex Access Patterns to NoSQL with DataStax - ...
Beyond the Query – Bringing Complex Access Patterns to NoSQL with DataStax - ...StampedeCon
 
Structuring Apache Spark 2.0: SQL, DataFrames, Datasets And Streaming - by Mi...
Structuring Apache Spark 2.0: SQL, DataFrames, Datasets And Streaming - by Mi...Structuring Apache Spark 2.0: SQL, DataFrames, Datasets And Streaming - by Mi...
Structuring Apache Spark 2.0: SQL, DataFrames, Datasets And Streaming - by Mi...Databricks
 
Large volume data analysis on the Typesafe Reactive Platform - Big Data Scala...
Large volume data analysis on the Typesafe Reactive Platform - Big Data Scala...Large volume data analysis on the Typesafe Reactive Platform - Big Data Scala...
Large volume data analysis on the Typesafe Reactive Platform - Big Data Scala...Martin Zapletal
 
Distributed Computing on PostgreSQL | PGConf EU 2017 | Marco Slot
Distributed Computing on PostgreSQL | PGConf EU 2017 | Marco SlotDistributed Computing on PostgreSQL | PGConf EU 2017 | Marco Slot
Distributed Computing on PostgreSQL | PGConf EU 2017 | Marco SlotCitus Data
 
Distributed Queries in IDS: New features.
Distributed Queries in IDS: New features.Distributed Queries in IDS: New features.
Distributed Queries in IDS: New features.Keshav Murthy
 
SE2016 BigData Vitalii Bondarenko "HD insight spark. Advanced in-memory Big D...
SE2016 BigData Vitalii Bondarenko "HD insight spark. Advanced in-memory Big D...SE2016 BigData Vitalii Bondarenko "HD insight spark. Advanced in-memory Big D...
SE2016 BigData Vitalii Bondarenko "HD insight spark. Advanced in-memory Big D...Inhacking
 
Vitalii Bondarenko HDinsight: spark. advanced in memory big-data analytics wi...
Vitalii Bondarenko HDinsight: spark. advanced in memory big-data analytics wi...Vitalii Bondarenko HDinsight: spark. advanced in memory big-data analytics wi...
Vitalii Bondarenko HDinsight: spark. advanced in memory big-data analytics wi...Аліна Шепшелей
 
Structuring Spark: DataFrames, Datasets, and Streaming
Structuring Spark: DataFrames, Datasets, and StreamingStructuring Spark: DataFrames, Datasets, and Streaming
Structuring Spark: DataFrames, Datasets, and StreamingDatabricks
 
Beyond the Query: A Cassandra + Solr + Spark Love Triangle Using Datastax Ent...
Beyond the Query: A Cassandra + Solr + Spark Love Triangle Using Datastax Ent...Beyond the Query: A Cassandra + Solr + Spark Love Triangle Using Datastax Ent...
Beyond the Query: A Cassandra + Solr + Spark Love Triangle Using Datastax Ent...DataStax Academy
 
A Cassandra + Solr + Spark Love Triangle Using DataStax Enterprise
A Cassandra + Solr + Spark Love Triangle Using DataStax EnterpriseA Cassandra + Solr + Spark Love Triangle Using DataStax Enterprise
A Cassandra + Solr + Spark Love Triangle Using DataStax EnterprisePatrick McFadin
 
CONFidence 2015: DTrace + OSX = Fun - Andrzej Dyjak
CONFidence 2015: DTrace + OSX = Fun - Andrzej Dyjak   CONFidence 2015: DTrace + OSX = Fun - Andrzej Dyjak
CONFidence 2015: DTrace + OSX = Fun - Andrzej Dyjak PROIDEA
 
Apache Spark, the Next Generation Cluster Computing
Apache Spark, the Next Generation Cluster ComputingApache Spark, the Next Generation Cluster Computing
Apache Spark, the Next Generation Cluster ComputingGerger
 
Updates from Project Hydrogen: Unifying State-of-the-Art AI and Big Data in A...
Updates from Project Hydrogen: Unifying State-of-the-Art AI and Big Data in A...Updates from Project Hydrogen: Unifying State-of-the-Art AI and Big Data in A...
Updates from Project Hydrogen: Unifying State-of-the-Art AI and Big Data in A...Databricks
 
Docker Logging and analysing with Elastic Stack - Jakub Hajek
Docker Logging and analysing with Elastic Stack - Jakub Hajek Docker Logging and analysing with Elastic Stack - Jakub Hajek
Docker Logging and analysing with Elastic Stack - Jakub Hajek PROIDEA
 

Similar to Robert Pankowecki - Czy sprzedawcy SQLowych baz nas oszukali? (20)

Unlocking Your Hadoop Data with Apache Spark and CDH5
Unlocking Your Hadoop Data with Apache Spark and CDH5Unlocking Your Hadoop Data with Apache Spark and CDH5
Unlocking Your Hadoop Data with Apache Spark and CDH5
 
Dissecting Real-World Database Performance Dilemmas
Dissecting Real-World Database Performance DilemmasDissecting Real-World Database Performance Dilemmas
Dissecting Real-World Database Performance Dilemmas
 
Structuring Spark: DataFrames, Datasets, and Streaming by Michael Armbrust
Structuring Spark: DataFrames, Datasets, and Streaming by Michael ArmbrustStructuring Spark: DataFrames, Datasets, and Streaming by Michael Armbrust
Structuring Spark: DataFrames, Datasets, and Streaming by Michael Armbrust
 
Scalding big ADta
Scalding big ADtaScalding big ADta
Scalding big ADta
 
Beyond the Query – Bringing Complex Access Patterns to NoSQL with DataStax - ...
Beyond the Query – Bringing Complex Access Patterns to NoSQL with DataStax - ...Beyond the Query – Bringing Complex Access Patterns to NoSQL with DataStax - ...
Beyond the Query – Bringing Complex Access Patterns to NoSQL with DataStax - ...
 
Structuring Apache Spark 2.0: SQL, DataFrames, Datasets And Streaming - by Mi...
Structuring Apache Spark 2.0: SQL, DataFrames, Datasets And Streaming - by Mi...Structuring Apache Spark 2.0: SQL, DataFrames, Datasets And Streaming - by Mi...
Structuring Apache Spark 2.0: SQL, DataFrames, Datasets And Streaming - by Mi...
 
Large volume data analysis on the Typesafe Reactive Platform - Big Data Scala...
Large volume data analysis on the Typesafe Reactive Platform - Big Data Scala...Large volume data analysis on the Typesafe Reactive Platform - Big Data Scala...
Large volume data analysis on the Typesafe Reactive Platform - Big Data Scala...
 
Letgo Data Platform: A global overview
Letgo Data Platform: A global overviewLetgo Data Platform: A global overview
Letgo Data Platform: A global overview
 
Distributed Computing on PostgreSQL | PGConf EU 2017 | Marco Slot
Distributed Computing on PostgreSQL | PGConf EU 2017 | Marco SlotDistributed Computing on PostgreSQL | PGConf EU 2017 | Marco Slot
Distributed Computing on PostgreSQL | PGConf EU 2017 | Marco Slot
 
Distributed Queries in IDS: New features.
Distributed Queries in IDS: New features.Distributed Queries in IDS: New features.
Distributed Queries in IDS: New features.
 
SE2016 BigData Vitalii Bondarenko "HD insight spark. Advanced in-memory Big D...
SE2016 BigData Vitalii Bondarenko "HD insight spark. Advanced in-memory Big D...SE2016 BigData Vitalii Bondarenko "HD insight spark. Advanced in-memory Big D...
SE2016 BigData Vitalii Bondarenko "HD insight spark. Advanced in-memory Big D...
 
Vitalii Bondarenko HDinsight: spark. advanced in memory big-data analytics wi...
Vitalii Bondarenko HDinsight: spark. advanced in memory big-data analytics wi...Vitalii Bondarenko HDinsight: spark. advanced in memory big-data analytics wi...
Vitalii Bondarenko HDinsight: spark. advanced in memory big-data analytics wi...
 
Structuring Spark: DataFrames, Datasets, and Streaming
Structuring Spark: DataFrames, Datasets, and StreamingStructuring Spark: DataFrames, Datasets, and Streaming
Structuring Spark: DataFrames, Datasets, and Streaming
 
Beyond the Query: A Cassandra + Solr + Spark Love Triangle Using Datastax Ent...
Beyond the Query: A Cassandra + Solr + Spark Love Triangle Using Datastax Ent...Beyond the Query: A Cassandra + Solr + Spark Love Triangle Using Datastax Ent...
Beyond the Query: A Cassandra + Solr + Spark Love Triangle Using Datastax Ent...
 
A Cassandra + Solr + Spark Love Triangle Using DataStax Enterprise
A Cassandra + Solr + Spark Love Triangle Using DataStax EnterpriseA Cassandra + Solr + Spark Love Triangle Using DataStax Enterprise
A Cassandra + Solr + Spark Love Triangle Using DataStax Enterprise
 
CONFidence 2015: DTrace + OSX = Fun - Andrzej Dyjak
CONFidence 2015: DTrace + OSX = Fun - Andrzej Dyjak   CONFidence 2015: DTrace + OSX = Fun - Andrzej Dyjak
CONFidence 2015: DTrace + OSX = Fun - Andrzej Dyjak
 
Big Data Tools in AWS
Big Data Tools in AWSBig Data Tools in AWS
Big Data Tools in AWS
 
Apache Spark, the Next Generation Cluster Computing
Apache Spark, the Next Generation Cluster ComputingApache Spark, the Next Generation Cluster Computing
Apache Spark, the Next Generation Cluster Computing
 
Updates from Project Hydrogen: Unifying State-of-the-Art AI and Big Data in A...
Updates from Project Hydrogen: Unifying State-of-the-Art AI and Big Data in A...Updates from Project Hydrogen: Unifying State-of-the-Art AI and Big Data in A...
Updates from Project Hydrogen: Unifying State-of-the-Art AI and Big Data in A...
 
Docker Logging and analysing with Elastic Stack - Jakub Hajek
Docker Logging and analysing with Elastic Stack - Jakub Hajek Docker Logging and analysing with Elastic Stack - Jakub Hajek
Docker Logging and analysing with Elastic Stack - Jakub Hajek
 

More from SegFaultConf

Wojciech Rząsa - Przewidywanie zmian wydajności aplikacji rozproszonych
Wojciech Rząsa - Przewidywanie zmian wydajności aplikacji rozproszonychWojciech Rząsa - Przewidywanie zmian wydajności aplikacji rozproszonych
Wojciech Rząsa - Przewidywanie zmian wydajności aplikacji rozproszonychSegFaultConf
 
Tomasz Nurkiewicz - Programowanie reaktywne: czego się nauczyłem
Tomasz Nurkiewicz - Programowanie reaktywne: czego się nauczyłemTomasz Nurkiewicz - Programowanie reaktywne: czego się nauczyłem
Tomasz Nurkiewicz - Programowanie reaktywne: czego się nauczyłemSegFaultConf
 
Zbyszko Papierski - Communication patterns in carbon-based networks
Zbyszko Papierski - Communication patterns in carbon-based networksZbyszko Papierski - Communication patterns in carbon-based networks
Zbyszko Papierski - Communication patterns in carbon-based networksSegFaultConf
 
Daniel Pokusa - Praca z kodem zastanym- nadchodzi wielka fala
Daniel Pokusa - Praca z kodem zastanym- nadchodzi wielka falaDaniel Pokusa - Praca z kodem zastanym- nadchodzi wielka fala
Daniel Pokusa - Praca z kodem zastanym- nadchodzi wielka falaSegFaultConf
 
Andrzej Ludwikowski - Event Sourcing - co może pójść nie tak?
Andrzej Ludwikowski -  Event Sourcing - co może pójść nie tak?Andrzej Ludwikowski -  Event Sourcing - co może pójść nie tak?
Andrzej Ludwikowski - Event Sourcing - co może pójść nie tak?SegFaultConf
 
Dominik Boszko - Krocząc doliną ciemności mikroserwisów się nie ulęknę
Dominik Boszko - Krocząc doliną ciemności mikroserwisów się nie ulęknęDominik Boszko - Krocząc doliną ciemności mikroserwisów się nie ulęknę
Dominik Boszko - Krocząc doliną ciemności mikroserwisów się nie ulęknęSegFaultConf
 
Krzysztof Kaczmarek - 10 rzeczy, które chciałbym wiedzieć 10 lat temu
Krzysztof Kaczmarek - 10 rzeczy, które chciałbym wiedzieć 10 lat temuKrzysztof Kaczmarek - 10 rzeczy, które chciałbym wiedzieć 10 lat temu
Krzysztof Kaczmarek - 10 rzeczy, które chciałbym wiedzieć 10 lat temuSegFaultConf
 
Jan Pustelnik - Curry-Howard w praktyce
Jan Pustelnik - Curry-Howard w praktyceJan Pustelnik - Curry-Howard w praktyce
Jan Pustelnik - Curry-Howard w praktyceSegFaultConf
 
Marcin Grzejszczak - Contract Tests in the Enterprise
Marcin Grzejszczak - Contract Tests in the EnterpriseMarcin Grzejszczak - Contract Tests in the Enterprise
Marcin Grzejszczak - Contract Tests in the EnterpriseSegFaultConf
 

More from SegFaultConf (9)

Wojciech Rząsa - Przewidywanie zmian wydajności aplikacji rozproszonych
Wojciech Rząsa - Przewidywanie zmian wydajności aplikacji rozproszonychWojciech Rząsa - Przewidywanie zmian wydajności aplikacji rozproszonych
Wojciech Rząsa - Przewidywanie zmian wydajności aplikacji rozproszonych
 
Tomasz Nurkiewicz - Programowanie reaktywne: czego się nauczyłem
Tomasz Nurkiewicz - Programowanie reaktywne: czego się nauczyłemTomasz Nurkiewicz - Programowanie reaktywne: czego się nauczyłem
Tomasz Nurkiewicz - Programowanie reaktywne: czego się nauczyłem
 
Zbyszko Papierski - Communication patterns in carbon-based networks
Zbyszko Papierski - Communication patterns in carbon-based networksZbyszko Papierski - Communication patterns in carbon-based networks
Zbyszko Papierski - Communication patterns in carbon-based networks
 
Daniel Pokusa - Praca z kodem zastanym- nadchodzi wielka fala
Daniel Pokusa - Praca z kodem zastanym- nadchodzi wielka falaDaniel Pokusa - Praca z kodem zastanym- nadchodzi wielka fala
Daniel Pokusa - Praca z kodem zastanym- nadchodzi wielka fala
 
Andrzej Ludwikowski - Event Sourcing - co może pójść nie tak?
Andrzej Ludwikowski -  Event Sourcing - co może pójść nie tak?Andrzej Ludwikowski -  Event Sourcing - co może pójść nie tak?
Andrzej Ludwikowski - Event Sourcing - co może pójść nie tak?
 
Dominik Boszko - Krocząc doliną ciemności mikroserwisów się nie ulęknę
Dominik Boszko - Krocząc doliną ciemności mikroserwisów się nie ulęknęDominik Boszko - Krocząc doliną ciemności mikroserwisów się nie ulęknę
Dominik Boszko - Krocząc doliną ciemności mikroserwisów się nie ulęknę
 
Krzysztof Kaczmarek - 10 rzeczy, które chciałbym wiedzieć 10 lat temu
Krzysztof Kaczmarek - 10 rzeczy, które chciałbym wiedzieć 10 lat temuKrzysztof Kaczmarek - 10 rzeczy, które chciałbym wiedzieć 10 lat temu
Krzysztof Kaczmarek - 10 rzeczy, które chciałbym wiedzieć 10 lat temu
 
Jan Pustelnik - Curry-Howard w praktyce
Jan Pustelnik - Curry-Howard w praktyceJan Pustelnik - Curry-Howard w praktyce
Jan Pustelnik - Curry-Howard w praktyce
 
Marcin Grzejszczak - Contract Tests in the Enterprise
Marcin Grzejszczak - Contract Tests in the EnterpriseMarcin Grzejszczak - Contract Tests in the Enterprise
Marcin Grzejszczak - Contract Tests in the Enterprise
 

Recently uploaded

Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 

Recently uploaded (20)

Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 

Robert Pankowecki - Czy sprzedawcy SQLowych baz nas oszukali?