These slides were used by Victor from Tantan, a company who provides dating app which is very popular in China. He spoke about a key feature of PostGIS (a Geo-spatial extenion of PostgreSQL), which they used for finding perfect match.
This is the presentation used by Umari Shahid or 2nd Quadrant for his Presentation at pgDay Asia 2016. It takes you through usage of TABLESAMPLE clause of SELECT queries introduced in PostgreSQL v9.5.
These are the slides used by Dilip Kumar of EnterpriseDB for his presentation at pgDay Asia 2016, Singpaore. He talked about scalability and performance improvements in PostgreSQL v9.6, which is expected to be released in Dec/2016 - Jan/2017.
PostgreSQL is one of the most loved databases and that is why AWS could not hold back from offering PostgreSQL as RDS. There are some really nice features in RDS which can be good for DBA and inspiring for Enterprises to build resilient solution with PostgreSQL.
Devrim Gunduz gives a presentation on Write-Ahead Logging (WAL) in PostgreSQL. WAL logs all transactions to files called write-ahead logs (WAL files) before changes are written to data files. This allows for crash recovery by replaying WAL files. WAL files are used for replication, backup, and point-in-time recovery (PITR) by replaying WAL files to restore the database to a previous state. Checkpoints write all dirty shared buffers to disk and update the pg_control file with the checkpoint location.
These are the slides which were used by Kumar Rajeev Rastogi of Huawei for his presentation at pgDay Asia 2016. He presented great idea about Native Compilation to improve CPU efficiency.
PostgreSQL has evolved from its origins in academic research projects in the 1970s-1980s to a widely used open source database today. It has a large and active user community supporting deployments across industries and organization sizes. The future of PostgreSQL remains bright, as it continues to add new features and performance improvements while maintaining its low cost, flexibility, and reliability advantages over closed source databases. Major areas of focus for ongoing PostgreSQL development include application-specific data types, advanced indexing techniques, and improved single and multi-node scalability.
Swapping Pacemaker Corosync with repmgrPGConf APAC
These slides were used by Wei Shan from GMO GlobalSign while presenting at pgDay Asia 2016. He discussed about challenges with the maintenance of Pacemaker/Corosync HA Clusters and how he migrated over to repmgr. He also did a short demo
Query Parallelism in PostgreSQL: What's coming next?PGConf APAC
This presentation was presented by Dilip Kumar (a PostgreSQL contributor) at pgDay Asia 2017. The presentation talks about Prallel query features released in v9.6, the infrastructure for the prallel query feature which was built in previous versions and what is the roadmap for prallel query.
Lessons PostgreSQL learned from commercial databases, and didn’tPGConf APAC
This is the ppt used by Illay for his presentation at pgDay Asia 2016 - "Lessons PostgreSQL learned from commercial
databases, and didn’t". The talk takes you through some of the really good things that PostgreSQL has done really well and somethings that PostgreSQL can learn from other databases
This document discusses using drones and PostgreSQL/PostGIS for agricultural applications. It describes how drones can capture imaging data for tasks like measuring crop health through NDVI analysis. PostgreSQL is useful for organizing the large amounts of drone data, like flight plans, sensor readings, and imagery. The document provides an example of importing this data into PostgreSQL and using PostGIS functions to process imagery, extract waypoints of problem areas, and more.
How to teach an elephant to rock'n'rollPGConf APAC
The document discusses techniques for optimizing PostgreSQL queries, including:
1. Using index only scans to efficiently skip large offsets in queries instead of scanning all rows.
2. Pulling the LIMIT clause under joins and aggregates to avoid processing unnecessary rows.
3. Employing indexes creatively to perform DISTINCT operations by scanning the index instead of the entire table.
4. Optimizing DISTINCT ON queries by looping through authors and returning the latest row for each instead of a full sort.
These slides were used by Mark from Jumping Bean at pgDay Asia 2016. He presented the noSQL features - JSON and JOSNB and related operators and functions to audience.
Why we love pgpool-II and why we hate it!PGConf APAC
Pgpool is middleware that works between PostgreSQL clients and servers to provide connection pooling, replication, and load balancing. The presenter's company deployed pgpool in various architectures including master-slave replication and load balancing configurations. They experienced some issues with pgpool like connection errors when using application pooling, lack of guaranteed connection reuse, and bugs. Tips are provided like ensuring synchronized server times and restricting health check users. Pgpool may not be best when automatic node rejoining is needed or during network instability.
Introduction to Vacuum Freezing and XIDPGConf APAC
These are slides which were used by Masahiko Sawada of NTT, Japan for his presentation at pgDay Asia. He spoke about internals of VACCUM and XID Wraparound issue of PosgreSQL.
PostgreSQL Enterprise Class Features and CapabilitiesPGConf APAC
These are the slides used by Venkar from Fujitsu for his presentation at pgDay Asia 2016. He spoke about some of the Enterprise Class features of PostgreSQL database.
Security Best Practices for your Postgres DeploymentPGConf APAC
These slides were used by Sameer Kumar of Ashnik for presenting his topic at pgDay Asia 2016. He took audience through some of the security best practices for deploying and hardening PostgreSQL
In September 2016, the PostgreSQL community is rolling out PostgreSQL 9.6 which includes improvements in parallelism for query performance, overall performance improvements and the integration of foreign data sources.
This presentation introduces the new features of 9.6 and how they will benefit you.
- Parallel sequential scans, joins and aggregates
- Elimination of repetitive scanning of old data by autovacuum
- Synchronous replication now allows multiple standby servers for increased reliability
- Full-text search for phrases
- Support for remote joins, sorts, and updates in postgres_fdw
- Substantial performance improvements, especially in the area of improving scalability on many-CPU servers
If you have any questions on how to get started with Postgres, please email [email protected]
The document discusses useful PostgreSQL extensions. It begins by introducing the author and explaining what extensions are in PostgreSQL. It then outlines some well-known extensions included in the PostgreSQL core like hstore and postgres_fdw. The document also discusses where to find other extensions, such as on pgxn.org and pgfoundry.org, and highlights several popular extensions including PostGIS, PgRouting, mongres, pgfincore, pg_partman, and oracle_fdw.
Best Practices for Becoming an Exceptional Postgres DBA EDB
Drawing from our teams who support hundreds of Postgres instances and production database systems for customers worldwide, this presentation provides real-real best practices from the nation's top DBAs. Learn top-notch monitoring and maintenance practices, get resource planning advice that can help prevent, resolve, or eliminate common issues, learning top database tuning tricks for increasing system performance and ultimately, gain greater insight into how to improve your effectiveness as a DBA.
The paperback version is available on lulu.com there http://goo.gl/fraa8o
This is the first volume of the postgresql database administration book. The book covers the steps for installing, configuring and administering a PostgreSQL 9.3 on Linux debian. The book covers the logical and physical aspect of PostgreSQL. Two chapters are dedicated to the backup/restore topic.
This presentation goes over the PGSQL 9.3 key features along with several other exciting additions released in early September 2013. These features will also be available in the 9.3 release of Postgres Plus Advanced Server.
Include_dir configuration directive
Copy freeze
Custom background workers
Additional JSON functionality
Lateral join
Parallel pg_dump pg_isready
Posix shared memory/mmap
Event triggers
Materialized views
Recursive views
Updateable views
Writeable foreign tables / postgres_fdw
Streaming only remastering
Fast failover
Architecture-independent streaming
pg_basebackup recovery.conf autosetup
This EnterpriseDB presentation reviews backup and recovery best practices and the following helpful features in EnterpriseDB’s Backup and Recovery Tool (BART) and more:
Retention Policies: Control which backups are retained and for how long
Disk space awareness: Ensures you don’t start a backup if there’s not enough disk space.
Friendly backup names: Support for naming rules to make it easy to identify backups.
This presentation is created for Entrepreneurship and Businness Planning lecture of Computer Systems Engineering master programme at Tallinn University of Technology
Geospatial Data Analysis and Visualization in PythonHalfdan Rump
This are the slides that I created for my talk at PyCon JP 2017. The talk was also recorded, and a video can be found here: https://www.youtube.com/watch?time_continue=3&v=Yd5oEIBFQ_E.
I made the presentation as a Jupyter notebook and Reveal.js, and I encourage you to head over to https://github.com/halfdanrump/geoviz-pyconjp2017, download the repository and open the presentation.ipynb notebook yourself.
The code that I presented in this talk is released as open source and can he found here: https://github.com/halfdanrump/geoviz
This work was done for DG Lab, the company that I currently work for.
From the proposal to ECMAScript – Step by StepIgalia
Do ever wonder how ECMAScript evolves and it's available almost everywhere? We
gonna do a walkthrough of how TC39 (the technical committee responsible for the
ECMAScript) works, how to participate, contribute, and how an idea can make it
through to the language, all step-by-step. Together with a sneak pick and
debate about some recent and interesting proposals in different stages.
(c) Fest.js Porto 2023
April 20, 2023
Porto, Portugal
https://fest.dev/events/js/porto-2023/
Query Parallelism in PostgreSQL: What's coming next?PGConf APAC
This presentation was presented by Dilip Kumar (a PostgreSQL contributor) at pgDay Asia 2017. The presentation talks about Prallel query features released in v9.6, the infrastructure for the prallel query feature which was built in previous versions and what is the roadmap for prallel query.
Lessons PostgreSQL learned from commercial databases, and didn’tPGConf APAC
This is the ppt used by Illay for his presentation at pgDay Asia 2016 - "Lessons PostgreSQL learned from commercial
databases, and didn’t". The talk takes you through some of the really good things that PostgreSQL has done really well and somethings that PostgreSQL can learn from other databases
This document discusses using drones and PostgreSQL/PostGIS for agricultural applications. It describes how drones can capture imaging data for tasks like measuring crop health through NDVI analysis. PostgreSQL is useful for organizing the large amounts of drone data, like flight plans, sensor readings, and imagery. The document provides an example of importing this data into PostgreSQL and using PostGIS functions to process imagery, extract waypoints of problem areas, and more.
How to teach an elephant to rock'n'rollPGConf APAC
The document discusses techniques for optimizing PostgreSQL queries, including:
1. Using index only scans to efficiently skip large offsets in queries instead of scanning all rows.
2. Pulling the LIMIT clause under joins and aggregates to avoid processing unnecessary rows.
3. Employing indexes creatively to perform DISTINCT operations by scanning the index instead of the entire table.
4. Optimizing DISTINCT ON queries by looping through authors and returning the latest row for each instead of a full sort.
These slides were used by Mark from Jumping Bean at pgDay Asia 2016. He presented the noSQL features - JSON and JOSNB and related operators and functions to audience.
Why we love pgpool-II and why we hate it!PGConf APAC
Pgpool is middleware that works between PostgreSQL clients and servers to provide connection pooling, replication, and load balancing. The presenter's company deployed pgpool in various architectures including master-slave replication and load balancing configurations. They experienced some issues with pgpool like connection errors when using application pooling, lack of guaranteed connection reuse, and bugs. Tips are provided like ensuring synchronized server times and restricting health check users. Pgpool may not be best when automatic node rejoining is needed or during network instability.
Introduction to Vacuum Freezing and XIDPGConf APAC
These are slides which were used by Masahiko Sawada of NTT, Japan for his presentation at pgDay Asia. He spoke about internals of VACCUM and XID Wraparound issue of PosgreSQL.
PostgreSQL Enterprise Class Features and CapabilitiesPGConf APAC
These are the slides used by Venkar from Fujitsu for his presentation at pgDay Asia 2016. He spoke about some of the Enterprise Class features of PostgreSQL database.
Security Best Practices for your Postgres DeploymentPGConf APAC
These slides were used by Sameer Kumar of Ashnik for presenting his topic at pgDay Asia 2016. He took audience through some of the security best practices for deploying and hardening PostgreSQL
In September 2016, the PostgreSQL community is rolling out PostgreSQL 9.6 which includes improvements in parallelism for query performance, overall performance improvements and the integration of foreign data sources.
This presentation introduces the new features of 9.6 and how they will benefit you.
- Parallel sequential scans, joins and aggregates
- Elimination of repetitive scanning of old data by autovacuum
- Synchronous replication now allows multiple standby servers for increased reliability
- Full-text search for phrases
- Support for remote joins, sorts, and updates in postgres_fdw
- Substantial performance improvements, especially in the area of improving scalability on many-CPU servers
If you have any questions on how to get started with Postgres, please email [email protected]
The document discusses useful PostgreSQL extensions. It begins by introducing the author and explaining what extensions are in PostgreSQL. It then outlines some well-known extensions included in the PostgreSQL core like hstore and postgres_fdw. The document also discusses where to find other extensions, such as on pgxn.org and pgfoundry.org, and highlights several popular extensions including PostGIS, PgRouting, mongres, pgfincore, pg_partman, and oracle_fdw.
Best Practices for Becoming an Exceptional Postgres DBA EDB
Drawing from our teams who support hundreds of Postgres instances and production database systems for customers worldwide, this presentation provides real-real best practices from the nation's top DBAs. Learn top-notch monitoring and maintenance practices, get resource planning advice that can help prevent, resolve, or eliminate common issues, learning top database tuning tricks for increasing system performance and ultimately, gain greater insight into how to improve your effectiveness as a DBA.
The paperback version is available on lulu.com there http://goo.gl/fraa8o
This is the first volume of the postgresql database administration book. The book covers the steps for installing, configuring and administering a PostgreSQL 9.3 on Linux debian. The book covers the logical and physical aspect of PostgreSQL. Two chapters are dedicated to the backup/restore topic.
This presentation goes over the PGSQL 9.3 key features along with several other exciting additions released in early September 2013. These features will also be available in the 9.3 release of Postgres Plus Advanced Server.
Include_dir configuration directive
Copy freeze
Custom background workers
Additional JSON functionality
Lateral join
Parallel pg_dump pg_isready
Posix shared memory/mmap
Event triggers
Materialized views
Recursive views
Updateable views
Writeable foreign tables / postgres_fdw
Streaming only remastering
Fast failover
Architecture-independent streaming
pg_basebackup recovery.conf autosetup
This EnterpriseDB presentation reviews backup and recovery best practices and the following helpful features in EnterpriseDB’s Backup and Recovery Tool (BART) and more:
Retention Policies: Control which backups are retained and for how long
Disk space awareness: Ensures you don’t start a backup if there’s not enough disk space.
Friendly backup names: Support for naming rules to make it easy to identify backups.
This presentation is created for Entrepreneurship and Businness Planning lecture of Computer Systems Engineering master programme at Tallinn University of Technology
Geospatial Data Analysis and Visualization in PythonHalfdan Rump
This are the slides that I created for my talk at PyCon JP 2017. The talk was also recorded, and a video can be found here: https://www.youtube.com/watch?time_continue=3&v=Yd5oEIBFQ_E.
I made the presentation as a Jupyter notebook and Reveal.js, and I encourage you to head over to https://github.com/halfdanrump/geoviz-pyconjp2017, download the repository and open the presentation.ipynb notebook yourself.
The code that I presented in this talk is released as open source and can he found here: https://github.com/halfdanrump/geoviz
This work was done for DG Lab, the company that I currently work for.
From the proposal to ECMAScript – Step by StepIgalia
Do ever wonder how ECMAScript evolves and it's available almost everywhere? We
gonna do a walkthrough of how TC39 (the technical committee responsible for the
ECMAScript) works, how to participate, contribute, and how an idea can make it
through to the language, all step-by-step. Together with a sneak pick and
debate about some recent and interesting proposals in different stages.
(c) Fest.js Porto 2023
April 20, 2023
Porto, Portugal
https://fest.dev/events/js/porto-2023/
12 things Oracle DBAs must know about SQLSolarWinds
All DBAs and developers working with Oracle databases should have a solid knowledge of SQL, including what it is (and what it isn’t), how it works (and how it doesn’t) and how best to use it.
What you don't know about SQL could be having a negative impact on your database performance. In this dynamic presentation, you’ll learn 12 things you should know about SQL, including:
*Why SQL works the way it does
*How to work with SQL’s strengths and weaknesses
*Why how you write queries matters so much
*Why database design matters so much
*What statistics are so important
And much, much more.
The document discusses the geopy module in Python, which is used for geocoding and geolocation. It allows users to geolocate addresses, cities, countries and landmarks into geographic coordinates and vice versa. The geopy module utilizes third party geocoders like Google Maps, Bing Maps and Nominatim. It discusses how to install, import and use the module to geocode and reverse geocode locations. Various methods like geocode(), reverse() and functions to convert between distance and angle units are also covered.
This document provides instructions for formatting a term paper. It includes sections for the title page, table of contents, introduction, proposed system description, system requirements, requirement analysis, system design, source code, testing, and future scope. It then provides a sample term paper formatted according to these instructions on the topic of a tic-tac-toe game. The paper includes an introduction describing the existing system and proposed improvements. It details the system requirements, design including flowcharts, and provides the source code for the tic-tac-toe game.
Second part of the Course "Java Open Source GIS Development - From the building blocks to extending an existing GIS application." held at the University of Potsdam in August 2011
DeepScan: Exploiting Deep Learning for Malicious Account Detection in Locatio...yeung2000
The widespread location-based social networks (LBSNs) have immersed into our daily life. As an open platform, LBSNs typically allow all kinds of users to register accounts. Malicious attackers can easily join and post misleading information, often with the intention of influencing the users' decision in urban computing environments. To provide reliable information and improve the experience for legitimate users, we design and implement DeepScan, a malicious account detection system for LBSNs. Different from existing approaches, DeepScan leverages emerging deep learning technologies to learn users' dynamic behavior. In particular, we introduce the long short-term memory (LSTM) neural network to conduct time series analysis of user activities. DeepScan combines newly introduced time series features and a set of conventional features extracted from user activities, and exploits a supervised machine learning-based model for detection. Using the real traces collected from Dianping, a representative LBSN, we demonstrate that DeepScan can achieve an excellent prediction performance with an F1-score of 0.964. We also find that the time series features play a critical role in the detection system.
Around the world with extensions | PostgreSQL Conference Europe 2018 | Craig ...Citus Data
Postgres continues to get more and more feature rich. But equally as impressive is the network of extensions that are growing around Postgres. With the rich extension APIs you can now add advanced functionality to Postgres without having to fork the codebase or wait for the main PostgreSQL release cycle. In this talk we'll cover some of the basics of what an extension is and then take a tour through a variety of Postgres extensions including:
pg_stat_statments
PostGIS
HyperLogLog and TopN
Timescale
pg_partman
Citus
Foreign data wrappers which are their own whole class
This document summarizes steps for working with spatial point data in R, including:
1. Importing point data from a CSV file and defining the coordinate columns;
2. Specifying the coordinate reference system of the data;
3. Plotting the data spatially and exporting to common GIS formats like shapefiles;
4. Transforming the data to a different CRS (WGS84) in order to visualize in Google Earth.
The document discusses different approaches to scaling databases, including sharding and partitioning. It provides examples of sharding data across multiple tables based on a hashed key. It also demonstrates range partitioning a single table into multiple sub-tables based on time intervals, using PostgreSQL's native partitioning. The document inserts sample data and runs queries to showcase these different scaling techniques.
This document provides the format and structure for a term paper on the game Tic Tac Toe. It includes sections for the title page, table of contents, introduction, proposed system description and requirements, requirement analysis, system design, source code, testing, and future scope. It describes the problem statement, functions to be provided by the system, and system requirements. It also includes sample source code for the game and descriptions of the requirement analysis and system design processes. The overall summary provides an outline and overview of the contents and organization of the term paper project on developing a Tic Tac Toe game.
This document provides the format and contents for a term paper on the game Tic Tac Toe. It includes sections for the title page, table of contents, introduction, proposed system description and requirements, requirement analysis, system design, source code, testing, and future scope. The introduction describes the existing manual system and benefits of the new software system. The proposed system section provides more details on the problem statement, functions, and system requirements. The requirement analysis section describes the system development life cycle. The system design section includes a flowchart illustrating the game play. The source code section lists the C code used to develop the software.
This document discusses working with soil profile data from Macedonia in R. It shows how to import the data as a spatial points data frame, define the coordinate reference system, plot and export the data to different formats like shapefiles and KML for use in GIS software. Key steps include reading in the CSV data, specifying the X and Y coordinates, defining the CRS, plotting the data spatially, and exporting it to formats like shapefiles and KML to visualize and analyze the data in other software.
Nyc open data project ii -- predict where to get and return my citibikeVivian S. Zhang
NYC Data Science Academy, NYC Open Data Meetup, Big Data, Data Science, NYC, Vivian Zhang, SupStat Inc,NYC, GBM, Machine learning, Time Series, Citibike usage prodiction, advanced R
From the proposal to ECMAScript, step by stepIgalia
Do you ever wonder how ECMAScript evolves and why it's available almost
everywhere? We're going to take you through how TC39 (the technical committee
responsible for ECMAScript) works, how to participate and contribute, as well
as how an idea can make its way into the language, all step by step. We'll also
provide a sneak peek and engage in a debate about some recent and interesting
proposals in various stages of development.
(c) JetBrains JavaScript Day 2023
An attempt to teach Open Data members in the Government of Ontario Open Data initiative the use of Cassandra, Time Series DB and Kairos DB specifically. This POC was completed in python and is open sourced on my github.
Where the %$#^ Is Everybody? Geospatial Solutions For Oracle APEXJim Czuprynski
This document discusses geospatial solutions for Oracle APEX, including:
- Using mapping plugins like Jeff Kemp's JK64 Google Maps plugin and Oracle's GeoSpatial (OGS) plugin to display locations on maps from longitude/latitude pairs or SDO_GEOMETRY columns.
- Capabilities of the plugins like geocoding, points of interest searches, and routing/directions (JK64) or geocoding and basic mapping (OGS).
- Considerations for using Google Maps APIs versus Oracle's native geospatial services, including potential cost differences.
- Examples of using the plugins to search for closest points of interest and display routes.
- Approaches for bulk geocoding using REST APIs
By expanding our knowledge of SQL facilities, we can let all the boring work be handled via SQL rather than a lot of middle-tier code, and we can get performance benefits as an added bonus. Here are some SQL techniques to solve problems that would otherwise require a lot of complex coding, freeing up your time to focus on the delivery of great applications.
GeoMesa on Apache Spark SQL with Anthony FoxDatabricks
This document discusses location intelligence and GeoMesa. It begins with an introduction to location intelligence and GeoMesa. It then covers spatial data types, spatial SQL, and optimizing spatial SQL queries by extending Spark's Catalyst optimizer. Examples are provided to demonstrate calculating density of activity in San Francisco and generating a speed profile of a metro area using location data. Spatial analysis techniques like spatial joins, buffers, and geohashing are explored to extract insights from spatial data at scale.
PGConf APAC 2018: Sponsored Talk by Fujitsu - The growing mandatory requireme...PGConf APAC
Speaker: Rajni Baliyan
As the volume of data of a personal nature and commodification of information collected and analysed increases; so is the focus on privacy and data security. Many countries are examining international and domestic laws in order to protect consumers and organisations alike.
The Australian Senate has recently passed a bill containing mandatory requirements to notify the privacy commissioner and consumers when data is at risk of causing serious harm in the case of a data breach occurring.
Europe has also announced new laws that allow consumers more control over their data. These laws allow consumers to tell companies to erase any data held about them.
These new laws will have a significant impact on organisations that store personal information.
This talk will examine some of these legislative changes and how specific PostgreSQL features can assist organisations in meeting their obligations and avoid heavy fines associated with breaching them.
While the physical replication in PostgreSQL is quite robust, however, it doesn’t fit well in the picture when:
- You need partial replication only
- You want to replicate between different major versions of PostgreSQL
- You need to replicate multiple databases to the same target
- Transformation of the data is needed
- You want to replicate in order to upgrade without downtime
The answer to these use cases is logical replication
This talk will discuss and cover these use cases followed by a logical replication demo.
PGConf APAC 2018 - Lightening Talk #3: How To Contribute to PostgreSQLPGConf APAC
This document outlines various ways to contribute to the PostgreSQL open source database project. It discusses that PostgreSQL needs support from individuals and companies to continue developing and competing against commercial databases. Contributing provides benefits like being listed as a contributor or sponsor on PostgreSQL's website. The document then lists several contribution methods like making donations, participating in surveys, providing hardware/infrastructure, helping with documentation, answering user questions, reporting bugs, and writing code in the form of tools, extensions, or patches.
The document discusses implementing centralized authorization in PostgreSQL by synchronizing user roles and privileges with an LDAP server. It provides a step-by-step approach to setting up LDAP authentication in PostgreSQL and using scripts to synchronize user roles and privileges between the database and LDAP based on group membership. The synchronization scripts create roles for each LDAP user, grant privileges to roles based on mapping rules, and handle role inheritance.
PGConf APAC 2018 - A PostgreSQL DBAs Toolbelt for 2018PGConf APAC
There's no need to re-invent the wheel! Dozens of people have already tried...and succeeded. This talk is a categorized and illustrated overview on most popular and/or useful PostgreSQL specific scripts, utilities and whole toolsets that DBAs should be aware of for solving daily tasks. Inlcuding - performance monitoring, logs management/analyzis, identifying/fixing most common adminstration problems around areas of general performance metrics, tuning, locking, indexing, bloat, leaving out high-availability topics. Covered are venerable oldies from wiki.postgresql.org as well as my newer favourites from Github.
Speaker: Alexander Kukushkin
Kubernetes is a solid leader among different cloud orchestration engines and its adoption rate is growing on a daily basis. Naturally people want to run both their applications and databases on the same infrastructure.
There are a lot of ways to deploy and run PostgreSQL on Kubernetes, but most of them are not cloud-native. Around one year ago Zalando started to run HA setup of PostgreSQL on Kubernetes managed by Patroni. Those experiments were quite successful and produced a Helm chart for Patroni. That chart was useful, albeit a single problem: Patroni depended on Etcd, ZooKeeper or Consul.
Few people look forward to deploy two applications instead of one and support them later on. In this talk I would like to introduce Kubernetes-native Patroni. I will explain how Patroni uses Kubernetes API to run a leader election and store the cluster state. I’m going to live-demo a deployment of HA PostgreSQL cluster on Minikube and share our own experience of running more than 130 clusters on Kubernetes.
Patroni is a Python open-source project developed by Zalando in cooperation with other contributors on GitHub: https://github.com/zalando/patroni
PGConf APAC 2018 - High performance json postgre-sql vs. mongodbPGConf APAC
Speakers: Dominic Dwyer & Wei Shan Ang
This talk was presented in Percona Live Europe 2017. However, we did not have enough time to test against more scenario. We will be giving an updated talk with a more comprehensive tests and numbers. We hope to run it against citusDB and MongoRocks as well to provide a comprehensive comparison.
https://www.percona.com/live/e17/sessions/high-performance-json-postgresql-vs-mongodb
PGConf APAC 2018 - Monitoring PostgreSQL at ScalePGConf APAC
Speaker: Lukas Fittl
Your PostgreSQL database is one of the most important pieces of your architecture - yet the level of introspection available in Postgres is often hard to work with. Its easy to get very detailed information, but what should you really watch out for, send reports on and alert on?
In this talk we'll discuss how query performance statistics can be made accessible to application developers, critical entries one should monitor in the PostgreSQL log files, how to collect EXPLAIN plans at scale, how to watch over autovacuum and VACUUM operations, and how to flag issues based on schema statistics.
We'll also talk a bit about monitoring multi-server setups, first going into high availability and read standbys, logical replication, and then reviewing how monitoring looks like for sharded databases like Citus.
The talk will primarily describe free/open-source tools and statistics views readily available from within Postgres.
PGConf APAC 2018 - Where's Waldo - Text Search and Pattern in PostgreSQLPGConf APAC
Speaker: Joe Conway
There are many use cases for text search and pattern matching, and there are also a wide variety of techniques available in PostgreSQL to perform text search and pattern matching. Figuring out the best "match" between use case and technique can be confusing. This talk will review the possibilities and provide guidance regarding when to use what method, and especially how to properly deal with the related index methods to ensure speedy searches. This talk covers:
* The primary available search methods
* Examples illustrating when to use each
* Extensive discussion of index use
* Timing comparisons using realistic examples
PGConf APAC 2018 - Managing replication clusters with repmgr, Barman and PgBo...PGConf APAC
Speaker: Ian Barwick
PostgreSQL and reliability go hand-in-hand - but your data is only truly safe with a solid and trusted backup system in place, and no matter how good your application is, it's useless if it can't talk to your database.
In this talk we'll demonstrate how to set up a reliable replication
cluster using open source tools closely associated with the PostgreSQL project. The talk will cover following areas:
- how to set up and manage a replication cluster with `repmgr`
- how to set up and manage reliable backups with `Barman`
- how to manage failover and application connections with `repmgr` and `PgBouncer`
Ian Barwick has worked for 2ndQuadrant since 2014, and as well as making various contributions to PostgreSQL itself, is lead `repmgr` developer. He lives in Tokyo, Japan.
PGConf APAC 2018 - PostgreSQL HA with Pgpool-II and whats been happening in P...PGConf APAC
Speaker: Muhammad Usama
Pgpool-II has been around to complement PostgreSQL over a decade and provides many features like connection pooling, failover, query caching, load balancing, and HA. High Availability (HA) is very critical to most enterprise application, the clients needs the ability to automatically reconnect with a secondary node when the master nodes goes down.
This is where Pgpool-II watchdog feature comes in, the core feature of Pgpool-II provides HA by eliminating the SPOF is the Watchdog. This watchdog feature has been around for a while but it went through major overhauling and enhancements in recent releases. This talk aims to explain the watchdog feature, the recent enhancements went into the watchdog and describe how it can be used to provide PostgreSQL HA and automatic failover.
Their is rising trend of enterprise deployment shifting to cloud based environment, Pgpool II can be used in the cloud without any issues. In this talk we will give some ideas how Pgpool-II is used to provide PostgreSQL HA in cloud environment.
Finally we will summarise the major features that have been added in the recent major release of Pgpool II and whats in the pipeline for the next major release.
PGConf APAC 2018 - PostgreSQL performance comparison in various cloudsPGConf APAC
Speaker: Oskari Saarenmaa
Aiven PostgreSQL is available in five different public cloud providers' infrastructure in more than 60 regions around the world, including 18 in APAC. This has given us a unique opportunity to benchmark and compare performance of similar configurations in different environments.
We'll share our benchmark methods and results, comparing various PostgreSQL configurations and workloads across different clouds.
This document discusses migrating Oracle databases to EDB Postgres. It outlines the steps to migrate, including assessing the database, preparing the environment, migrating database objects and data, porting applications, testing, integrating, and rolling out the migration. It then provides two case studies of large companies that migrated from Oracle to EDB Postgres to significantly lower costs while still meeting their business and technical requirements.
About a year ago I was caught up in line-of-fire when a production system started behaving abruptly
- A batch process which would finish in 15minutes started taking 1.5 hours
- We started facing OLTP read queries on standby being cancelled
- We faced a sudden slowness on the Primary server and we were forced to do a forceful switch to standby.
We were able to figure out that some peculiarities of the application code and batch process were responsible for this. But we could not fix the application code (as it is packaged application).
In this talk I would like to share more details of how we debugged, what was the problem we were facing and how we applied a work around for it. We also learnt that a query returning in 10minutes may not be as dangerous as a query returning in 10sec but executed 100s of times in an hour.
I will share in detail-
- How to map the process/top stats from OS with pg_stat_activity
- How to get and read explain plan
- How to judge if a query is costly
- What tools helped us
- A peculiar autovacuum/vacuum Vs Replication conflict we ran into
- Various parameters to tune autvacuum and auto-analyze process
- What we have done to work-around the problem
- What we have put in place for better monitoring and information gathering
The document discusses PostgreSQL version 11 and future development. It provides a history of PostgreSQL and its predecessors, describing the development process and community. It summarizes key features committed to version 11, including improvements to partitioning, parallelization, performance and logical replication. It also outlines features proposed for future versions, with a focus on continued enhancements to partitioning and query planning.
This presentation was used by Blair during his talk on Aurora and PostgreSQl compatibility for Aurora at pgDay Asia 2017. The talk was part of dedicated PostgreSQL track at FOSSASIA 2017
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...Aqusag Technologies
In late April 2025, a significant portion of Europe, particularly Spain, Portugal, and parts of southern France, experienced widespread, rolling power outages that continue to affect millions of residents, businesses, and infrastructure systems.
HCL Nomad Web – Best Practices and Managing Multiuser Environmentspanagenda
Webinar Recording: https://www.panagenda.com/webinars/hcl-nomad-web-best-practices-and-managing-multiuser-environments/
HCL Nomad Web is heralded as the next generation of the HCL Notes client, offering numerous advantages such as eliminating the need for packaging, distribution, and installation. Nomad Web client upgrades will be installed “automatically” in the background. This significantly reduces the administrative footprint compared to traditional HCL Notes clients. However, troubleshooting issues in Nomad Web present unique challenges compared to the Notes client.
Join Christoph and Marc as they demonstrate how to simplify the troubleshooting process in HCL Nomad Web, ensuring a smoother and more efficient user experience.
In this webinar, we will explore effective strategies for diagnosing and resolving common problems in HCL Nomad Web, including
- Accessing the console
- Locating and interpreting log files
- Accessing the data folder within the browser’s cache (using OPFS)
- Understand the difference between single- and multi-user scenarios
- Utilizing Client Clocking
Complete Guide to Advanced Logistics Management Software in Riyadh.pdfSoftware Company
Explore the benefits and features of advanced logistics management software for businesses in Riyadh. This guide delves into the latest technologies, from real-time tracking and route optimization to warehouse management and inventory control, helping businesses streamline their logistics operations and reduce costs. Learn how implementing the right software solution can enhance efficiency, improve customer satisfaction, and provide a competitive edge in the growing logistics sector of Riyadh.
How Can I use the AI Hype in my Business Context?Daniel Lehner
𝙄𝙨 𝘼𝙄 𝙟𝙪𝙨𝙩 𝙝𝙮𝙥𝙚? 𝙊𝙧 𝙞𝙨 𝙞𝙩 𝙩𝙝𝙚 𝙜𝙖𝙢𝙚 𝙘𝙝𝙖𝙣𝙜𝙚𝙧 𝙮𝙤𝙪𝙧 𝙗𝙪𝙨𝙞𝙣𝙚𝙨𝙨 𝙣𝙚𝙚𝙙𝙨?
Everyone’s talking about AI but is anyone really using it to create real value?
Most companies want to leverage AI. Few know 𝗵𝗼𝘄.
✅ What exactly should you ask to find real AI opportunities?
✅ Which AI techniques actually fit your business?
✅ Is your data even ready for AI?
If you’re not sure, you’re not alone. This is a condensed version of the slides I presented at a Linkedin webinar for Tecnovy on 28.04.2025.
Book industry standards are evolving rapidly. In the first part of this session, we’ll share an overview of key developments from 2024 and the early months of 2025. Then, BookNet’s resident standards expert, Tom Richardson, and CEO, Lauren Stewart, have a forward-looking conversation about what’s next.
Link to recording, presentation slides, and accompanying resource: https://bnctechforum.ca/sessions/standardsgoals-for-2025-standards-certification-roundup/
Presented by BookNet Canada on May 6, 2025 with support from the Department of Canadian Heritage.
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...Impelsys Inc.
Impelsys provided a robust testing solution, leveraging a risk-based and requirement-mapped approach to validate ICU Connect and CritiXpert. A well-defined test suite was developed to assess data communication, clinical data collection, transformation, and visualization across integrated devices.
Quantum Computing Quick Research Guide by Arthur MorganArthur Morgan
This is a Quick Research Guide (QRG).
QRGs include the following:
- A brief, high-level overview of the QRG topic.
- A milestone timeline for the QRG topic.
- Links to various free online resource materials to provide a deeper dive into the QRG topic.
- Conclusion and a recommendation for at least two books available in the SJPL system on the QRG topic.
QRGs planned for the series:
- Artificial Intelligence QRG
- Quantum Computing QRG
- Big Data Analytics QRG
- Spacecraft Guidance, Navigation & Control QRG (coming 2026)
- UK Home Computing & The Birth of ARM QRG (coming 2027)
Any questions or comments?
- Please contact Arthur Morgan at [email protected].
100% human made.
Semantic Cultivators : The Critical Future Role to Enable AIartmondano
By 2026, AI agents will consume 10x more enterprise data than humans, but with none of the contextual understanding that prevents catastrophic misinterpretations.
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025BookNet Canada
Book industry standards are evolving rapidly. In the first part of this session, we’ll share an overview of key developments from 2024 and the early months of 2025. Then, BookNet’s resident standards expert, Tom Richardson, and CEO, Lauren Stewart, have a forward-looking conversation about what’s next.
Link to recording, transcript, and accompanying resource: https://bnctechforum.ca/sessions/standardsgoals-for-2025-standards-certification-roundup/
Presented by BookNet Canada on May 6, 2025 with support from the Department of Canadian Heritage.
What is Model Context Protocol(MCP) - The new technology for communication bw...Vishnu Singh Chundawat
The MCP (Model Context Protocol) is a framework designed to manage context and interaction within complex systems. This SlideShare presentation will provide a detailed overview of the MCP Model, its applications, and how it plays a crucial role in improving communication and decision-making in distributed systems. We will explore the key concepts behind the protocol, including the importance of context, data management, and how this model enhances system adaptability and responsiveness. Ideal for software developers, system architects, and IT professionals, this presentation will offer valuable insights into how the MCP Model can streamline workflows, improve efficiency, and create more intuitive systems for a wide range of use cases.
Spark is a powerhouse for large datasets, but when it comes to smaller data workloads, its overhead can sometimes slow things down. What if you could achieve high performance and efficiency without the need for Spark?
At S&P Global Commodity Insights, having a complete view of global energy and commodities markets enables customers to make data-driven decisions with confidence and create long-term, sustainable value. 🌍
Explore delta-rs + CDC and how these open-source innovations power lightweight, high-performance data applications beyond Spark! 🚀
Procurement Insights Cost To Value Guide.pptxJon Hansen
Procurement Insights integrated Historic Procurement Industry Archives, serves as a powerful complement — not a competitor — to other procurement industry firms. It fills critical gaps in depth, agility, and contextual insight that most traditional analyst and association models overlook.
Learn more about this value- driven proprietary service offering here.
Special Meetup Edition - TDX Bengaluru Meetup #52.pptxshyamraj55
We’re bringing the TDX energy to our community with 2 power-packed sessions:
🛠️ Workshop: MuleSoft for Agentforce
Explore the new version of our hands-on workshop featuring the latest Topic Center and API Catalog updates.
📄 Talk: Power Up Document Processing
Dive into smart automation with MuleSoft IDP, NLP, and Einstein AI for intelligent document workflows.
AI and Data Privacy in 2025: Global TrendsInData Labs
In this infographic, we explore how businesses can implement effective governance frameworks to address AI data privacy. Understanding it is crucial for developing effective strategies that ensure compliance, safeguard customer trust, and leverage AI responsibly. Equip yourself with insights that can drive informed decision-making and position your organization for success in the future of data privacy.
This infographic contains:
-AI and data privacy: Key findings
-Statistics on AI data privacy in the today’s world
-Tips on how to overcome data privacy challenges
-Benefits of AI data security investments.
Keep up-to-date on how AI is reshaping privacy standards and what this entails for both individuals and organizations.
Generative Artificial Intelligence (GenAI) in BusinessDr. Tathagat Varma
My talk for the Indian School of Business (ISB) Emerging Leaders Program Cohort 9. In this talk, I discussed key issues around adoption of GenAI in business - benefits, opportunities and limitations. I also discussed how my research on Theory of Cognitive Chasms helps address some of these issues
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep DiveScyllaDB
Want to learn practical tips for designing systems that can scale efficiently without compromising speed?
Join us for a workshop where we’ll address these challenges head-on and explore how to architect low-latency systems using Rust. During this free interactive workshop oriented for developers, engineers, and architects, we’ll cover how Rust’s unique language features and the Tokio async runtime enable high-performance application development.
As you explore key principles of designing low-latency systems with Rust, you will learn how to:
- Create and compile a real-world app with Rust
- Connect the application to ScyllaDB (NoSQL data store)
- Negotiate tradeoffs related to data modeling and querying
- Manage and monitor the database for consistently low latencies
2. At Tantan we use PostgreSQL &
PostGIS for everything!
2tantanapp.com
3. Suggesting users is difficult
• How should we rank them?
• How can it execute quickly?
(At Tantan we need to do 1000 ranking queries per
second at peak!)
tantanapp.com 3
4. The exciting new feature in
PostGIS is this:
<<->>
tantanapp.com 4
5. Today I will show how to take
advantage of the 4th dimension!
1. Use double the amount of dimensions from 2
2. …
3. Profit!
tantanapp.com 5
6. We will look at 3 different properties
to help our suggestion SELECT
1. Popularity
2. Age
3. Activity
tantanapp.com 6
7. Let’s begin with 2 dimensions
tantanapp.com 7
Y
(Latitude)
X
(Longitude)
8. Table and index
CREATE TABLE users (
id serial PRIMARY KEY,
birthdate date,
location geometry,
active_time timestamp,
popularity double precision
);
CREATE INDEX users_location_gix
ON users USING GIST (location);
tantanapp.com 8
9. Selecting
SELECT * FROM users
ORDER BY location <-> ST_MakePoint(103.8, 1.3)
/* Singapore */
LIMIT 10;
tantanapp.com 9
10. Lets look at our first case
1. Popularity <--
2. Age
3. Activity
tantanapp.com 10
12. Order by location and popularity
WITH x AS (SELECT * FROM users
ORDER BY location <-> ST_MakePoint(103.8, 1.3)
LIMIT 100)
SELECT * FROM x
ORDER BY
ST_Distance(location::geography, ST_MakePoint(103.8, 1.3))
* 1 / (popularity+1)
LIMIT 10;
tantanapp.com 12
13. Picture of x-y-z axis
tantanapp.com 13
X
(Longitude)
Y
(Latitude)
Z
(Popularity)
14. Adding a 3rd dimension!
ALTER TABLE users ADD COLUMN loc_pop geometry;
UPDATE users
SET loc_pop = ST_makepoint(ST_X(location),
ST_Y(location), 0.01 * 1 / (popularity+1));
CREATE INDEX users_loc_pop_gix
ON users USING GIST (loc_pop gist_geometry_ops_nd);
tantanapp.com 14
15. To use our new 3D index we need
to use the new <<->> operator
<<->> — Returns the n-D distance between the centroids
of A and B bounding boxes.
This operand will make use of n-D GiST indexes that may
be available on the geometries. It is different from other
operators that use spatial indexes in that the spatial
index is only used when the operator is in the ORDER BY
clause.
* http://postgis.net/docs/manual-2.2/geometry_distance_centroid_nd.html
tantanapp.com 15
16. With <<->> our query becomes
SELECT * FROM users
ORDER BY loc_pop <<->> ST_MakePoint(103.8, 1.3, 0)
LIMIT 10;
tantanapp.com 16
18. A quick review of our table:
CREATE TABLE users (
id serial PRIMARY KEY,
birthdate date,
location geometry,
active_time timestamp,
popularity double precision
);
tantanapp.com 18
19. Selecting with age filter
SELECT * FROM users
WHERE age(birthdate) between '20 years' AND '30 years'
ORDER BY location <-> ST_MakePoint(103.8, 1.3)
LIMIT 10;
tantanapp.com 19
20. A very selective user might only
want to look at 74 year olds
SELECT * FROM users
WHERE age(birthdate) between '74 years' AND '75 years'
ORDER BY location <-> ST_MakePoint(103.8, 1.3)
LIMIT 10;
tantanapp.com 20
21. Explain analyze of the query
Limit (cost=0.41..62011.93 rows=10 width=96) (actual
time=49.456..551.955 rows=10 loops=1)
-> Index Scan using users_location_gix on users
(cost=0.41..1103805.51 rows=178 width=96) (actual time=49.398..546.631
rows=10 loops=1)
Order By: (location <-> 'XXX'::geometry)
Filter: ((birthdate >= (now() - '75 years'::interval)) AND (birthdate <=
(now() - '74 years'::interval)))
Rows Removed by Filter: 192609
Planning time: 0.157 ms
Execution time: 553.151 ms
tantanapp.com 21
23. Possible solutions?
• Prevent searches of
restricted ages
• Add a distance
restriction
• Add age to the geo index
tantanapp.com 23
24. Adding age to the geo index
ALTER TABLE users ADD COLUMN loc_age geometry;
UPDATE users
SET loc_age = ST_makepoint(ST_X(location), ST_Y(location),
Extract('year' FROM birthdate)/100000);
CREATE INDEX users_loc_age_gix ON users USING GIST (loc_age
gist_geometry_ops_nd);
tantanapp.com 24
25. Updated query
SELECT * FROM users
WHERE loc_age &&&
ST_MakeLine(
ST_MakePoint(180, 90, Extract('year' FROM Now() - interval '74
years')/100000),
ST_MakePoint(-180, -90, Extract('year' FROM Now() - interval '75
years')/100000))
ORDER BY loc_age <<->> ST_MakePoint(103.8, 1.3, 0)
LIMIT 10;
tantanapp.com 25
26. Looking at the execution plan we
can see that all is good
Limit (cost=0.41..8.43 rows=1 width=136) (actual time=15.294..16.082
rows=10 loops=1)
-> Index Scan using users_loc_age_gix on users (cost=0.41..8.43 rows=1
width=136) (actual time=14.685..14.948 rows=10 loops=1)
Index Cond: (loc_age &&& 'XXX'::geometry)
Order By: (loc_age <<->> 'XXX'::geometry)
Planning time: 0.332 ms
Execution time: 19.053 ms
tantanapp.com 26
27. Looking at the result we see that
something is wrong
UserID Age
6827677 74 years 11 mons 7 days
1281456 75 years 15 days
1269119 73 years 7 mons 27 days
5791734 73 years 7 mons 8 days
3875002 74 years 7 mons 14 days
6373179 73 years 5 mons 8 days
3727434 74 years 7 mons 21 days
5214330 74 years 10 days
3127049 74 years 8 mons 22 days
6390900 74 years 21 days
tantanapp.com 27
28. Solution: Keep the non-geometry
where statement
SELECT * FROM users
WHERE age(birthdate) BETWEEN '74 years' AND '75 years'
AND loc_age &&&
ST_MakeLine(
ST_MakePoint(180, 90, Extract('year' FROM Now() - interval '74
years')/100000),
ST_MakePoint(-180, -90, Extract('year' FROM Now() - interval '75
years')/100000))
ORDER BY loc_age <<->> ST_MakePoint(103.8, 1.3, 0)
LIMIT 10;
tantanapp.com 28
29. Finally we look at Activity
1. Popularity
2. Age
3. Activity <--
tantanapp.com 29
30. Order by last active time
WITH x AS (SELECT * FROM users
ORDER BY location <-> ST_MakePoint(103.8, 1.3)
LIMIT 100)
SELECT * FROM x
ORDER BY
ST_Distance(location::geography, ST_MakePoint(103.8, 1.3))
* Extract(Now() - active_time)
LIMIT 10;
tantanapp.com 30
31. What is the difference between
time, popularity and age?
• Popularity is bounded, a users popularity can range
between 0 and 1.
• Age is also bounded, and static. All our users are
between 16 and 100 years old and their birthdate
never change.
• Time increase infinitely in one direction.
tantanapp.com 31
32. Adding time to the geo column
ALTER TABLE users ADD COLUMN loc_active geometry;
UPDATE users
SET loc_active = ST_MakePoint(ST_X(location), ST_Y(location),
Extract('epoch' FROM active_time) / 60 / 10000);
CREATE INDEX users_loc_active_gix
ON users USING GIST (loc_active gist_geometry_ops_nd);
tantanapp.com 32
33. Select with time becomes
SELECT * FROM users
ORDER BY loc_active <<->> ST_MakePoint(103.8, 1.3,
Extract('epoch' FROM Now()) / 60 / 10000)
LIMIT 10;
tantanapp.com 33
34. What we talked about so far
1. Location X and Y
2. Popularity
3. Age
4. Activity
tantanapp.com 34
35. Adding a 4th dimension
ALTER TABLE users ADD COLUMN loc_pop_age geometry;
UPDATE users
SET loc_pop_age =
ST_MakePoint(ST_X(location), ST_Y(location),
0.01 * 1 / (popularity+1),
Extract('year' FROM birthdate)/100000);
CREATE INDEX users_loc_pop_age_gix
ON users USING GIST (loc_pop_age gist_geometry_ops_nd);
tantanapp.com 35
36. Adding a 4th dimension - Query
SELECT * FROM users
WHERE loc_pop_age &&&
ST_MakeLine(
ST_MakePoint(180, 90, -100, Extract('year' FROM Now() - interval
'20 years')/100000),
ST_MakePoint(-180, -90, 100, Extract('year' FROM Now() - interval
'30 years')/100000))
ORDER BY loc_pop_age <<->> ST_MakePoint(103.8, 1.3, 0, 0)
LIMIT 10;
tantanapp.com 36
37. Query runtimes 2D vs 3D vs 4D
tantanapp.com 37
0 10 20 30 40 50
Location
Location + popularity
Location + age (20-30)
Location + age (74)
Location + activity
Location + pop + age (4D)
3D/4D index (ms) 2D index (ms)
38. Query times did not impress.
What about index sizes?
tantanapp.com 38
0 50 100 150 200
users_pkey
users_location_gix
users_loc_pop_gix
users_loc_pop_age_gix
users_loc_age_gix
users_loc_active_gix
Size bloated (MB) Size fresh(MB)
39. Conclusion
1. Popularity
• Pro: Improves ranking?
• Con: Makes it more difficult to reason about the ranking formula
• Con: Makes the query slower
2. Age
• Pro: Fixes query time of outlier queries
• Con: Make the average query time longer
• Con: Have to take special care to not disturb the normal ranking
3. Time
• Pro: Improves ranking?
• Con: Much more difficult to reason about the ranking formula
• Con: Makes the query slower
tantanapp.com 39
40. Conclusion
Its more difficult to use the 3rd and 4th dimension
than what a quick glance reveals. Test extensively!
tantanapp.com 40