Indexes in geo-temporal data sets... How much is enough?

Commonwealth Computer Research, Inc.
Commonwealth Computer Research, Inc.Commonwealth Computer Research, Inc.
Strictly (Ordered) Ballroom
(AKA, "geo indexing and sufficiency")
Chris Eichelberger
FOSS4G NA 2017
part 1: the pain
"You can raise welts like nobody else / as we dance to the Masochism Tango"
2
with sincere apologies to the great Tom Lehrer
3
searching for a NoSQL analog...
to answer the hard questions... which comes first?
4
● Virginia
● Massachusetts
this is the entire purpose of an index: given a data element, tell me which
bin (disk page, tablet, ...) in which it will be found if it exists
which comes first?
5
indexing properties
DATA-SPECIFIC
● think: Japanese street addresses
● lot numbers depend on building order
● good when: cross-index joins are cheap
(RDBMS)
SPACE-SPECIFIC
● think: US street addresses
● lots are aligned to block ranges
● good when: cross-index joins are
expensive (NoSQL)
6
7
8
what does an SFC look like, do?
Z-order curve, 4 bits (2x2), 16 cells
9
Z-order curve, 6 bits (3x3), 64 cells
10
Z-order curve progression
11
SFCurve... a LocationTech project is born
12
but have you tried the...
13
API with the help of
this solution would become FOSS
14
with the help of
life is good
15
● we have AN INDEX
● we can ingest geo-temporal data
● we can query with geometric bounds and a time span
part 2: the pain
"Blacken my eye, set fire to my tie / as we dance to the Masochism Tango"
16
real data are often non-uniformly distributed
17
18
a real place
19
how real data are often distributed
20
how SFC indexes might be distributed (gridded)
21
how real data tend to map to SFC indexes (bins)
22
how to trade density for uniformity
life is good
23
● we have a (POTENTIALLY SHARDED) index
● we can ingest geo-temporal data
● we can query with geometric bounds and a time span
● we don't suffer from hot-spotting
part 3: the pain
"My heart entreats, just hear those savage beats / and go put on your cleats / and come and trample me"
24
more than geo-temporal attributes?
25
https://www.britannica.com/technology/airplane/Types-of-aircraft
add more indexes!
26
● add an ATTRIBUTE index
○ tied to the SimpleFeatureType (in user data)
○ each indexed attributes has all values recorded
○ contains a complete copy of every simple feature
● add a RECORD ID index
○ automatically created, populated
○ values are assumed to be unique to the SimpleFeature
○ contains a complete copy of every simple feature
index selection
27
● simple cases
○ if you only filter on an indexed attribute, use the attribute index
○ if you only filter on a record ID, use the record-ID index
○ if you only filter on location and time, use the geo-temporal index
● all other cases
○ this is a geo-temporal store... use the geo-temporal index
life is good
28
● we have some indexes
● we can ingest geo-temporal data
● we can query with geometric bounds and a time span
● we don't suffer from hot-spotting
● we have per-attribute indexes and a record-ID index
● we have the option of querying by any one attribute OR record ID or geo-time
part 4: the pain
"Your heart is hard as stone or mahogany / that's why I'm in such exquisite agony"
29
pointedly...
30
● the world is not flat
● it (the world) contains non-point geometries
handling non-point geometries
31
Christian Böhm, Gerald Klump and Hans-Peter Kriegel. "XZ-Ordering: A Space-Filling Curve for Objects with Spatial Extension".
6th Int. Symposium on Large Spatial Databases (SSD), 1999, Hong Kong, China
add more indexes!
32
● add an XZ3 index
○ indexes longitude, latitude, and time
○ contains a complete copy of every simple feature
● add an XZ2 index, just to be sure
○ indexes longitude and latitude alone
○ contains a complete copy of every simple feature
life is good
33
● we have some indexes
● we can ingest geo-temporal data
● we can query with geometric bounds and a time span
● we don't suffer from hot-spotting
● we have per-attribute indexes and a record-ID index
● we have the option of querying by any one attribute
● we have non-duplicative indexes for non-point geometries, even those that
cross the anti-meridian
part 5: the pain
"My soul is on fire; it's aflame with desire / which is why I perspire when we tango"
34
an embarrassment of riches
35http://i.ebayimg.com/00/s/NTY2WDg0OQ==/z/U~IAAOSw-jhUBFhb/$_32.JPG?set_id=880000500F
for once!
36
● what we need is NOT another index... exactly
cost-based optimizer... oh, and summary statistics
37
● CBO
○ rewrite query using DNF... or CNF
○ estimate cost of using a particular index
■ at least whether a full-table scan is required
○ requires knowing something about cardinalities
○ ought to be able to explain why it made its choice
● statistics collection
○ responsible for providing some estimates of cardinalities (HyperLogLog, count-min sketch,
etc.)
this is really just a fancy version of the board game Guess Who?
life is good
38
● we have some indexes
● we can ingest geo-temporal data
● we can query with geometric bounds and a time span
● we don't suffer from hot-spotting
● we have per-attribute indexes and a record-ID index
● we have the option of querying by any one attribute
● we have non-duplicative indexes for non-point geometries, even those that
cross the anti-meridian
part 6: the pain
"You caught my nose in your left castanet, love / I can feel the pain yet, love / everytime I hear drums"
39
40
serious fun requires serious thought
analytics, streaming, and cross-platform support
41
Apache Arrow
"who knew [geo data] could be so complicated?"
● there exist simpler solutions
○ D4M works very well, albeit not specifically for geo-time data
○ Elasticsearch has geographic, temporal indexes
● do you have a simpler problem?
○ do you need low-latency, high-velocity streaming data ingest, processing?
○ does even your streaming, in-memory geo-time data store require secondary indexing?
○ do your clients require access via OGC services, the GeoTools API?
○ must you support multiple flavors of NoSQL?
42
if it doesn't hurt, you're doing it wrong
"Fracture my spine / and swear that you're mine / as we dance to the Masochism Tango"
43
for additional questions...
44
1 of 44

Recommended

Training Drone Image Models with Grand Theft Auto by
Training Drone Image Models with Grand Theft AutoTraining Drone Image Models with Grand Theft Auto
Training Drone Image Models with Grand Theft AutoCommonwealth Computer Research, Inc.
2.6K views60 slides
GeoMesa on Spark SQL: Extracting Location Intelligence from Data by
GeoMesa on Spark SQL: Extracting Location Intelligence from DataGeoMesa on Spark SQL: Extracting Location Intelligence from Data
GeoMesa on Spark SQL: Extracting Location Intelligence from DataCommonwealth Computer Research, Inc.
1.8K views109 slides
Learn about Your Location (Using ALL Your Data) by
Learn about Your Location (Using ALL Your Data)Learn about Your Location (Using ALL Your Data)
Learn about Your Location (Using ALL Your Data)Commonwealth Computer Research, Inc.
697 views38 slides
ChatGPT and the Future of Work - Clark Boyd by
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
23.4K views69 slides
Getting into the tech field. what next by
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
5.6K views22 slides
Google's Just Not That Into You: Understanding Core Updates & Search Intent by
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
6.3K views99 slides

More Related Content

Recently uploaded

[DSC Europe 23] Ivana Sesic - Use of AI in Public Health.pptx by
[DSC Europe 23] Ivana Sesic - Use of AI in Public Health.pptx[DSC Europe 23] Ivana Sesic - Use of AI in Public Health.pptx
[DSC Europe 23] Ivana Sesic - Use of AI in Public Health.pptxDataScienceConferenc1
5 views15 slides
Data about the sector workshop by
Data about the sector workshopData about the sector workshop
Data about the sector workshopinfo828217
12 views27 slides
UNEP FI CRS Climate Risk Results.pptx by
UNEP FI CRS Climate Risk Results.pptxUNEP FI CRS Climate Risk Results.pptx
UNEP FI CRS Climate Risk Results.pptxpekka28
11 views51 slides
[DSC Europe 23][AI:CSI] Dragan Pleskonjic - AI Impact on Cybersecurity and P... by
[DSC Europe 23][AI:CSI]  Dragan Pleskonjic - AI Impact on Cybersecurity and P...[DSC Europe 23][AI:CSI]  Dragan Pleskonjic - AI Impact on Cybersecurity and P...
[DSC Europe 23][AI:CSI] Dragan Pleskonjic - AI Impact on Cybersecurity and P...DataScienceConferenc1
6 views36 slides
PRIVACY AWRE PERSONAL DATA STORAGE by
PRIVACY AWRE PERSONAL DATA STORAGEPRIVACY AWRE PERSONAL DATA STORAGE
PRIVACY AWRE PERSONAL DATA STORAGEantony420421
5 views56 slides
SUPER STORE SQL PROJECT.pptx by
SUPER STORE SQL PROJECT.pptxSUPER STORE SQL PROJECT.pptx
SUPER STORE SQL PROJECT.pptxkhan888620
13 views16 slides

Recently uploaded(20)

Data about the sector workshop by info828217
Data about the sector workshopData about the sector workshop
Data about the sector workshop
info82821712 views
UNEP FI CRS Climate Risk Results.pptx by pekka28
UNEP FI CRS Climate Risk Results.pptxUNEP FI CRS Climate Risk Results.pptx
UNEP FI CRS Climate Risk Results.pptx
pekka2811 views
[DSC Europe 23][AI:CSI] Dragan Pleskonjic - AI Impact on Cybersecurity and P... by DataScienceConferenc1
[DSC Europe 23][AI:CSI]  Dragan Pleskonjic - AI Impact on Cybersecurity and P...[DSC Europe 23][AI:CSI]  Dragan Pleskonjic - AI Impact on Cybersecurity and P...
[DSC Europe 23][AI:CSI] Dragan Pleskonjic - AI Impact on Cybersecurity and P...
PRIVACY AWRE PERSONAL DATA STORAGE by antony420421
PRIVACY AWRE PERSONAL DATA STORAGEPRIVACY AWRE PERSONAL DATA STORAGE
PRIVACY AWRE PERSONAL DATA STORAGE
antony4204215 views
SUPER STORE SQL PROJECT.pptx by khan888620
SUPER STORE SQL PROJECT.pptxSUPER STORE SQL PROJECT.pptx
SUPER STORE SQL PROJECT.pptx
khan88862013 views
Survey on Factuality in LLM's.pptx by NeethaSherra1
Survey on Factuality in LLM's.pptxSurvey on Factuality in LLM's.pptx
Survey on Factuality in LLM's.pptx
NeethaSherra17 views
[DSC Europe 23] Stefan Mrsic_Goran Savic - Evolving Technology Excellence.pptx by DataScienceConferenc1
[DSC Europe 23] Stefan Mrsic_Goran Savic - Evolving Technology Excellence.pptx[DSC Europe 23] Stefan Mrsic_Goran Savic - Evolving Technology Excellence.pptx
[DSC Europe 23] Stefan Mrsic_Goran Savic - Evolving Technology Excellence.pptx
Organic Shopping in Google Analytics 4.pdf by GA4 Tutorials
Organic Shopping in Google Analytics 4.pdfOrganic Shopping in Google Analytics 4.pdf
Organic Shopping in Google Analytics 4.pdf
GA4 Tutorials16 views
[DSC Europe 23] Milos Grubjesic Empowering Business with Pepsico s Advanced M... by DataScienceConferenc1
[DSC Europe 23] Milos Grubjesic Empowering Business with Pepsico s Advanced M...[DSC Europe 23] Milos Grubjesic Empowering Business with Pepsico s Advanced M...
[DSC Europe 23] Milos Grubjesic Empowering Business with Pepsico s Advanced M...
Short Story Assignment by Kelly Nguyen by kellynguyen01
Short Story Assignment by Kelly NguyenShort Story Assignment by Kelly Nguyen
Short Story Assignment by Kelly Nguyen
kellynguyen0119 views
[DSC Europe 23] Zsolt Feleki - Machine Translation should we trust it.pptx by DataScienceConferenc1
[DSC Europe 23] Zsolt Feleki - Machine Translation should we trust it.pptx[DSC Europe 23] Zsolt Feleki - Machine Translation should we trust it.pptx
[DSC Europe 23] Zsolt Feleki - Machine Translation should we trust it.pptx
CRM stick or twist.pptx by info828217
CRM stick or twist.pptxCRM stick or twist.pptx
CRM stick or twist.pptx
info82821711 views
[DSC Europe 23] Spela Poklukar & Tea Brasanac - Retrieval Augmented Generation by DataScienceConferenc1
[DSC Europe 23] Spela Poklukar & Tea Brasanac - Retrieval Augmented Generation[DSC Europe 23] Spela Poklukar & Tea Brasanac - Retrieval Augmented Generation
[DSC Europe 23] Spela Poklukar & Tea Brasanac - Retrieval Augmented Generation
CRIJ4385_Death Penalty_F23.pptx by yvettemm100
CRIJ4385_Death Penalty_F23.pptxCRIJ4385_Death Penalty_F23.pptx
CRIJ4385_Death Penalty_F23.pptx
yvettemm1006 views
3196 The Case of The East River by ErickANDRADE90
3196 The Case of The East River3196 The Case of The East River
3196 The Case of The East River
ErickANDRADE9016 views
Ukraine Infographic_22NOV2023_v2.pdf by AnastosiyaGurin
Ukraine Infographic_22NOV2023_v2.pdfUkraine Infographic_22NOV2023_v2.pdf
Ukraine Infographic_22NOV2023_v2.pdf
AnastosiyaGurin1.4K views

Featured

Time Management & Productivity - Best Practices by
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
169.7K views42 slides
The six step guide to practical project management by
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
36.6K views27 slides
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright... by
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
12.6K views21 slides
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present... by
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Applitools
55.5K views138 slides
12 Ways to Increase Your Influence at Work by
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at WorkGetSmarter
401.7K views64 slides
ChatGPT webinar slides by
ChatGPT webinar slidesChatGPT webinar slides
ChatGPT webinar slidesAlireza Esmikhani
30.3K views36 slides

Featured(20)

Time Management & Productivity - Best Practices by Vit Horky
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
Vit Horky169.7K views
The six step guide to practical project management by MindGenius
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
MindGenius36.6K views
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright... by RachelPearson36
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
RachelPearson3612.6K views
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present... by Applitools
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Applitools55.5K views
12 Ways to Increase Your Influence at Work by GetSmarter
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
GetSmarter401.7K views
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G... by DevGAMM Conference
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
DevGAMM Conference3.6K views
Barbie - Brand Strategy Presentation by Erica Santiago
Barbie - Brand Strategy PresentationBarbie - Brand Strategy Presentation
Barbie - Brand Strategy Presentation
Erica Santiago25.1K views
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well by Saba Software
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them wellGood Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Saba Software25.2K views
Introduction to C Programming Language by Simplilearn
Introduction to C Programming LanguageIntroduction to C Programming Language
Introduction to C Programming Language
Simplilearn8.4K views
The Pixar Way: 37 Quotes on Developing and Maintaining a Creative Company (fr... by Palo Alto Software
The Pixar Way: 37 Quotes on Developing and Maintaining a Creative Company (fr...The Pixar Way: 37 Quotes on Developing and Maintaining a Creative Company (fr...
The Pixar Way: 37 Quotes on Developing and Maintaining a Creative Company (fr...
Palo Alto Software88.4K views
9 Tips for a Work-free Vacation by Weekdone.com
9 Tips for a Work-free Vacation9 Tips for a Work-free Vacation
9 Tips for a Work-free Vacation
Weekdone.com7.2K views
How to Map Your Future by SlideShop.com
How to Map Your FutureHow to Map Your Future
How to Map Your Future
SlideShop.com275.1K views
Beyond Pride: Making Digital Marketing & SEO Authentically LGBTQ+ Inclusive -... by AccuraCast
Beyond Pride: Making Digital Marketing & SEO Authentically LGBTQ+ Inclusive -...Beyond Pride: Making Digital Marketing & SEO Authentically LGBTQ+ Inclusive -...
Beyond Pride: Making Digital Marketing & SEO Authentically LGBTQ+ Inclusive -...
AccuraCast3.4K views
Exploring ChatGPT for Effective Teaching and Learning.pptx by Stan Skrabut, Ed.D.
Exploring ChatGPT for Effective Teaching and Learning.pptxExploring ChatGPT for Effective Teaching and Learning.pptx
Exploring ChatGPT for Effective Teaching and Learning.pptx
Stan Skrabut, Ed.D.57.7K views
How to train your robot (with Deep Reinforcement Learning) by Lucas García, PhD
How to train your robot (with Deep Reinforcement Learning)How to train your robot (with Deep Reinforcement Learning)
How to train your robot (with Deep Reinforcement Learning)
Lucas García, PhD42.5K views
4 Strategies to Renew Your Career Passion by Daniel Goleman
4 Strategies to Renew Your Career Passion4 Strategies to Renew Your Career Passion
4 Strategies to Renew Your Career Passion
Daniel Goleman122K views

Indexes in geo-temporal data sets... How much is enough?

  • 1. Strictly (Ordered) Ballroom (AKA, "geo indexing and sufficiency") Chris Eichelberger FOSS4G NA 2017
  • 2. part 1: the pain "You can raise welts like nobody else / as we dance to the Masochism Tango" 2 with sincere apologies to the great Tom Lehrer
  • 3. 3 searching for a NoSQL analog...
  • 4. to answer the hard questions... which comes first? 4 ● Virginia ● Massachusetts this is the entire purpose of an index: given a data element, tell me which bin (disk page, tablet, ...) in which it will be found if it exists
  • 6. indexing properties DATA-SPECIFIC ● think: Japanese street addresses ● lot numbers depend on building order ● good when: cross-index joins are cheap (RDBMS) SPACE-SPECIFIC ● think: US street addresses ● lots are aligned to block ranges ● good when: cross-index joins are expensive (NoSQL) 6
  • 7. 7
  • 8. 8 what does an SFC look like, do?
  • 9. Z-order curve, 4 bits (2x2), 16 cells 9
  • 10. Z-order curve, 6 bits (3x3), 64 cells 10
  • 12. SFCurve... a LocationTech project is born 12
  • 13. but have you tried the... 13 API with the help of
  • 14. this solution would become FOSS 14 with the help of
  • 15. life is good 15 ● we have AN INDEX ● we can ingest geo-temporal data ● we can query with geometric bounds and a time span
  • 16. part 2: the pain "Blacken my eye, set fire to my tie / as we dance to the Masochism Tango" 16
  • 17. real data are often non-uniformly distributed 17
  • 19. 19 how real data are often distributed
  • 20. 20 how SFC indexes might be distributed (gridded)
  • 21. 21 how real data tend to map to SFC indexes (bins)
  • 22. 22 how to trade density for uniformity
  • 23. life is good 23 ● we have a (POTENTIALLY SHARDED) index ● we can ingest geo-temporal data ● we can query with geometric bounds and a time span ● we don't suffer from hot-spotting
  • 24. part 3: the pain "My heart entreats, just hear those savage beats / and go put on your cleats / and come and trample me" 24
  • 25. more than geo-temporal attributes? 25 https://www.britannica.com/technology/airplane/Types-of-aircraft
  • 26. add more indexes! 26 ● add an ATTRIBUTE index ○ tied to the SimpleFeatureType (in user data) ○ each indexed attributes has all values recorded ○ contains a complete copy of every simple feature ● add a RECORD ID index ○ automatically created, populated ○ values are assumed to be unique to the SimpleFeature ○ contains a complete copy of every simple feature
  • 27. index selection 27 ● simple cases ○ if you only filter on an indexed attribute, use the attribute index ○ if you only filter on a record ID, use the record-ID index ○ if you only filter on location and time, use the geo-temporal index ● all other cases ○ this is a geo-temporal store... use the geo-temporal index
  • 28. life is good 28 ● we have some indexes ● we can ingest geo-temporal data ● we can query with geometric bounds and a time span ● we don't suffer from hot-spotting ● we have per-attribute indexes and a record-ID index ● we have the option of querying by any one attribute OR record ID or geo-time
  • 29. part 4: the pain "Your heart is hard as stone or mahogany / that's why I'm in such exquisite agony" 29
  • 30. pointedly... 30 ● the world is not flat ● it (the world) contains non-point geometries
  • 31. handling non-point geometries 31 Christian Böhm, Gerald Klump and Hans-Peter Kriegel. "XZ-Ordering: A Space-Filling Curve for Objects with Spatial Extension". 6th Int. Symposium on Large Spatial Databases (SSD), 1999, Hong Kong, China
  • 32. add more indexes! 32 ● add an XZ3 index ○ indexes longitude, latitude, and time ○ contains a complete copy of every simple feature ● add an XZ2 index, just to be sure ○ indexes longitude and latitude alone ○ contains a complete copy of every simple feature
  • 33. life is good 33 ● we have some indexes ● we can ingest geo-temporal data ● we can query with geometric bounds and a time span ● we don't suffer from hot-spotting ● we have per-attribute indexes and a record-ID index ● we have the option of querying by any one attribute ● we have non-duplicative indexes for non-point geometries, even those that cross the anti-meridian
  • 34. part 5: the pain "My soul is on fire; it's aflame with desire / which is why I perspire when we tango" 34
  • 35. an embarrassment of riches 35http://i.ebayimg.com/00/s/NTY2WDg0OQ==/z/U~IAAOSw-jhUBFhb/$_32.JPG?set_id=880000500F
  • 36. for once! 36 ● what we need is NOT another index... exactly
  • 37. cost-based optimizer... oh, and summary statistics 37 ● CBO ○ rewrite query using DNF... or CNF ○ estimate cost of using a particular index ■ at least whether a full-table scan is required ○ requires knowing something about cardinalities ○ ought to be able to explain why it made its choice ● statistics collection ○ responsible for providing some estimates of cardinalities (HyperLogLog, count-min sketch, etc.) this is really just a fancy version of the board game Guess Who?
  • 38. life is good 38 ● we have some indexes ● we can ingest geo-temporal data ● we can query with geometric bounds and a time span ● we don't suffer from hot-spotting ● we have per-attribute indexes and a record-ID index ● we have the option of querying by any one attribute ● we have non-duplicative indexes for non-point geometries, even those that cross the anti-meridian
  • 39. part 6: the pain "You caught my nose in your left castanet, love / I can feel the pain yet, love / everytime I hear drums" 39
  • 40. 40 serious fun requires serious thought
  • 41. analytics, streaming, and cross-platform support 41 Apache Arrow
  • 42. "who knew [geo data] could be so complicated?" ● there exist simpler solutions ○ D4M works very well, albeit not specifically for geo-time data ○ Elasticsearch has geographic, temporal indexes ● do you have a simpler problem? ○ do you need low-latency, high-velocity streaming data ingest, processing? ○ does even your streaming, in-memory geo-time data store require secondary indexing? ○ do your clients require access via OGC services, the GeoTools API? ○ must you support multiple flavors of NoSQL? 42
  • 43. if it doesn't hurt, you're doing it wrong "Fracture my spine / and swear that you're mine / as we dance to the Masochism Tango" 43