This document summarizes a presentation about migrating to PostgreSQL. It discusses PostgreSQL's history and features, including its open source nature, performance, extensibility, and support for JSON, XML, and other data types. It also covers installation, common SQL features, indexing, concurrency control using MVCC, and best practices for optimization. The presentation aims to explain why developers may want to use PostgreSQL as an alternative or complement to other databases.
This document compares the roadmaps for PostgreSQL 10 and MySQL 8. It outlines several areas of focus for each including parallelism, partitioning, foreign data wrappers, and performance for PostgreSQL. For MySQL, it notes the deprecation of MyISAM storage engine, role-based access control improvements, and JSON enhancements. It also briefly summarizes roadmaps for other databases and vendors including MariaDB, Postgres Professional, Percona Server, and NTT.
Hekaton is SQL Server's in-memory optimized database engine for online transaction processing (OLTP) workloads. It uses lock-free data structures, multi-version concurrency control, and compiled Transact-SQL queries to provide high performance and scalability. Transaction logging and continuous checkpointing ensure data durability. Hekaton tables and indexes are optimized for memory residency, with hash indexes and Bw-tree indexes to support efficient lookups and updates.
Presto was updated from version 0.152 to 0.178. New features in the update include lambda expressions, filtered aggregation, a VALIDATE mode for EXPLAIN, compressed exchange, and complex grouping operations. The update also added new functions and deprecated some legacy features with warnings. Future work on Presto includes disk spill optimization and a cost-based optimizer.
This document provides an overview and introduction to NoSQL databases. It discusses key-value stores like Dynamo and BigTable, which are distributed, scalable databases that sacrifice complex queries for availability and performance. It also explains column-oriented databases like Cassandra that scale to massive workloads. The document compares the CAP theorem and consistency models of these databases and provides examples of their architectures, data models, and operations.
PostgreSQL has more robust and flexible querying capabilities compared to MySQL. Key advantages for PostgreSQL include support for recursive queries, unlimited joins per query, and a rules engine for complex query rewriting needs. PostgreSQL also supports more join algorithms.
How to ensure Presto scalability in multi use case Kai Sasaki
This document discusses how to ensure Presto scalability in multi-use case environments. It describes how Treasure Data uses Prestobase Proxy, a Finagle-based RPC proxy, to provide a scalable interface for BI tools. It also discusses Presto's node scheduler for distributing query stages across nodes and Treasure Data's use of resource groups to limit resource usage and isolate queries. The document advocates for approaches like dependency injection, VCR testing, and multi-dimensional resource scheduling to make Presto and its components reliable in distributed systems.
Presto is an open source distributed SQL query engine for running interactive analytic queries against data sources of all sizes ranging from gigabytes to petabytes.
This document provides an overview of in-memory databases, summarizing different types including row stores, column stores, compressed column stores, and how specific databases like SQLite, Excel, Tableau, Qlik, MonetDB, SQL Server, Oracle, SAP Hana, MemSQL, and others approach in-memory storage. It also discusses hardware considerations like GPUs, FPGAs, and new memory technologies that could enhance in-memory database performance.
The document discusses MongoDB and how it compares to relational database management systems (RDBMS). It provides examples of how data can be modeled and stored differently in MongoDB compared to SQL databases. Specifically, it discusses how MongoDB allows for flexible, dynamic schemas as each document can have a different structure. This enables complex data like product catalogs with varying attributes for different items to be stored easily in a single collection. The document also provides examples of common operations like insert, update and delete in MongoDB compared to SQL.
Presto is used to process 15 trillion rows per day for Treasure Data customers. Treasure Data developed tools to manage Presto performance and optimize queries. They collect Presto query logs to analyze performance bottlenecks and classify queries to set implicit service level objectives. Tools like Prestobase Proxy and Presto Stella storage optimizer were created to improve low-latency access and optimize storage partitioning. Workflows using DigDag and a new tabular data format called MessageFrame are being explored to split huge queries and support incremental processing.
Postgres-XC is a write-scalable, synchronous multi-master PostgreSQL cluster that allows adding servers for write scaling. It provides a single consistent view across the cluster and immediate visibility of writes. The architecture includes coordinators that clients connect to, global transaction managers that coordinate transactions, and datanodes that store tables and execute queries in a loosely coupled, shared-nothing approach. The project is developing new features toward version 1.0 including subqueries and changing data distribution strategies.
Introduction to Presto at Treasure DataTaro L. Saito
Presto is a distributed SQL query engine that was developed by Facebook to make SQL queries scalable for large datasets. It translates SQL queries into multiple parallel tasks that can process data across many servers without using intermediate storage. This allows Presto to handle millions of records per second. Presto is now open source and used by many companies for interactive analysis of petabyte-scale datasets.
This is from a 2 hour talk introducing in-memory databases. First a look at traditional RDBMS architecture and some of it's limitations, then a look at some in-memory products and finally a closer look at OrigoDB, the open source in-memory database toolkit for NET/Mono.
Apache Drill is a data analytics system with a flexible architecture that allows for pluggable components. It includes a driver, parser, compiler/optimizer, execution engine, and storage handlers. The parser converts queries to an intermediate representation, which is optimized and then executed across a cluster by the execution engine. Drill supports various data formats and sources through its extensible storage interfaces and scanner operators. Its design focuses on flexibility, ease of use, dependability, and high performance.
This document summarizes a presentation comparing PostgreSQL and MySQL databases. It outlines the strengths and weaknesses of each, including PostgreSQL's strong advanced features and flexible licensing but lack of integrated replication, and MySQL's replication capabilities but immature security and programming models. It also discusses common application types for each database and provides an overview of the EnterpriseDB company.
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 sales@enterprisedb.com
This document provides an overview and comparison of SQL and NoSQL databases. It begins by defining SQL and NoSQL databases and listing some of their key characteristics. SQL databases are relational, use structured query language (SQL), and have ACID transactions, while NoSQL databases are non-relational, use dynamic schemas, and have BASE consistency. The document then discusses some examples of SQL and NoSQL databases and different NoSQL database types like document stores, key-value stores, and column stores. It also covers MongoDB specifically, providing definitions and examples.
Fast, distributed NoSQL and relational database at any scale. This contains many features including Partition and Indexes,
Data movement, Change Feed
Integration (Azure Functions and Search), Consistency Models, Replication and Multi-write, etc.,
NoSQL and Spatial Database Capabilities using PostgreSQLEDB
PostgreSQL is an object-relational database system. NoSQL on the other hand is a non-relational database and is document-oriented. Learn how the PostgreSQL database gives one the flexible options to combine NoSQL workloads with the relational query power by offering JSON data types. With PostgreSQL, new capabilities can be developed and plugged into the database as required.
Attend this webinar to learn:
- The new features and capabilities in PostgreSQL for new workloads, requiring greater flexibility in the data model
- NoSQL with JSON, Hstore and its performance and features for enterprises
- Spatial SQL - advanced features in PostGIS application with PostGIS extension
This document provides an agenda for a class on databases and asynchronous JavaScript. It includes presentations of Project 2, a review of asynchronous concepts like callbacks, promises, and async/await. It also covers differences between SQL and NoSQL databases, examples of using SQL and MongoDB, and an introduction to using a Postgres database on Bluemix. Homework involves SQL queries on a Stack Overflow database and students are notified to begin working on Project 3, which will involve a database backend and chatbot.
NoSQL for SQL Server Developers using CouchbaseBrant Burnett
This document provides an overview of NoSQL for SQL Server developers using Couchbase. It introduces Brant Burnett, the presenter, and his credentials working with Couchbase. The content will compare SQL and NoSQL concepts like databases, data types, queries and indexing. It will also provide a live demo of an ASP.NET Core microservice querying and indexing Couchbase. Finally, the presenter will take questions from the audience.
Technical feature review of features introduced by MongoDB 3.4 on graph capabilities, MongoDB UI tool: Compass, improvements on the replication and aggregation framework stages and utils. Operations improvements on Ops Manager and MongoDB Atlas.
This document discusses PostgreSQL and its use with Drupal. It provides an overview of PostgreSQL, highlighting its features such as being object-relational, open source, standards compliant, and supporting advanced data types and indexes. It also discusses installing and managing PostgreSQL and Drupal together, and the benefits of using PostgreSQL with Drupal due to its advanced optimizer and support in Drupal through its database abstraction layer. Finally, it provides recommendations for different roles, such as considering PostgreSQL for its growth opportunities, learning new skills, and optimizing queries and caching when using it with Drupal.
This document provides an overview of CouchDB, a NoSQL document database. It discusses key concepts like the CAP theorem and different categories of NoSQL databases. It then describes CouchDB in more detail, covering how to interact with data via REST APIs and CURL, use design documents to define views and validation, and handle data replication and conflicts. Map/reduce functions are used to query the data and build indexes.
This document summarizes key components of Microsoft Azure's data platform, including SQL Database, NoSQL options like Azure Tables, Blob Storage, and Azure Files. It provides an overview of each service, how they work, common use cases, and demos of creating resources and accessing data. The document is aimed at helping readers understand Azure's database and data storage options for building cloud applications.
This document provides an overview of MongoDB for Java developers. It discusses what MongoDB is, how it compares to relational databases, common use cases, data modeling approaches, CRUD operations, indexing, aggregation, replication, sharding, and tools for integrating MongoDB with Java applications. The document contains multiple code examples and concludes with a demonstration of building a sample app with MongoDB.
This document provides an overview and introduction to Cosmos DB. It discusses what Cosmos DB is, its data models, APIs, partitioning, and global distribution. It explains why Cosmos DB was created to address limitations of traditional databases. Key aspects covered include throughput and consistency levels, indexing, backups, failovers, and using Cosmos DB for developers and database administrators. The document also discusses migration tools, limitations, and integrations with PowerBI and geospatial data.
U-SQL combines SQL and C# to allow for querying and analyzing large amounts of structured and unstructured data stored in Azure Data Lake Store. U-SQL queries can access data across various Azure data services and provide analytics capabilities like window functions and ranking functions. The language also allows for extensibility through user-defined functions, aggregates, and operators written in C#. U-SQL queries are compiled and executed on Azure Data Lake Analytics, which provides a scalable analytics service based on Apache YARN.
DocumentDB is a NoSQL database built for the cloud that provides elasticity, high availability, and familiar concepts from SQL. It stores data in JSON documents with advanced querying capabilities. DocumentDB supports features like SQL, stored procedures, triggers, and user-defined functions. The .NET SDK provides ways to interact with DocumentDB resources via a client to perform operations like queries, indexing, users and permissions, and transactions.
The proliferation of data from new data sources has generated greater demand for technologies that can handle and harvest value from unstructured data. Postgres is leading the movement of integrating unstructured data with the relational environment.
Postgres first added JSON and then enhanced it with new data types, functions and operators in recent releases. Now in beta is the JSONB “binary JSON” type. These advances follow the longstanding HStore data type added in 2006 to support key/value stores in Postgres. Now Postgres users can learn how to harness these capabilities to master unstructured data challenges with Postgres.
The presentation also covers:
* An overview of JSON data types and operators
* Examples of SELECT, UPDATE, etc
* An examination of performance considerations
For more information, please email sales@enterprisedb.com
This document provides an introduction and overview of Azure DocumentDB. It discusses how DocumentDB is a fully managed NoSQL database service that provides fast and predictable performance for JSON data through SQL querying capabilities. It also describes how DocumentDB offers features like elastic scaling, high availability, global distribution and ease of development. The document then provides information on starting with DocumentDB, writing queries, and programming capabilities within DocumentDB like stored procedures and triggers.
Azure Cosmos DB: Features, Practical Use and Optimization "GlobalLogic Ukraine
This presentation is dedicated to Azure Cosmos DB, it's history, characteristics, tasks and solutions. The presentation deals with performance optimization, practical experience of usage and an overview of the news about Cosmos DB from Microsoft Build 2017 conference (https://build.microsoft.com).
This presentation by Andriy Gorda (Engineering Manager & Lead Software Engineer, Consultant, GlobalLogic Kharkiv) was delivered at GlobalLogic Kharkiv MS TechTalk on June 13, 2017.
U-SQL - Azure Data Lake Analytics for DevelopersMichael Rys
This document introduces U-SQL, a language for big data analytics on Azure Data Lake Analytics. U-SQL unifies SQL with imperative coding, allowing users to process both structured and unstructured data at scale. It provides benefits of both declarative SQL and custom code through an expression-based programming model. U-SQL queries can span multiple data sources and users can extend its capabilities through C# user-defined functions, aggregates, and custom extractors/outputters. The document demonstrates core U-SQL concepts like queries, joins, window functions, and the metadata model, highlighting how U-SQL brings together SQL and custom code for scalable big data analytics.
- Ramu Pulipati presented on Botsplash's journey to implement continuous integration and delivery (CI/CD) processes. They initially used shell scripts and Ansible but found deployment took too long. They then tried Circle CI but had issues with dynamic IP ranges and SSH key distribution. They moved to using AWS Code Suite (CodeBuild, CodeDeploy, CodePipeline) but found it added complexity and was difficult to evolve. Their lessons were to start simple, set clear goals, and accomplish them incrementally rather than taking on too much at once.
Building NLP solutions for Davidson ML Groupbotsplash.com
This document provides an overview of natural language processing (NLP) and discusses various NLP applications and techniques. It covers the scope of NLP including natural language understanding, generation, and speech recognition/synthesis. Example applications mentioned include chatbots, sentiment analysis, text classification, summarization, and more. Popular Python packages for NLP like NLTK, SpaCy, and Gensim are also highlighted. Techniques like word embeddings, neural networks, and deep learning approaches to NLP are briefly outlined.
Visual complexity can both increase and decrease consumer engagement on social media. The researchers analyzed over 630,000 Instagram posts from 633 brands to understand how different dimensions of visual complexity impact engagement, as measured by likes. They found an inverted U-shape relationship between luminance variation/edge density and engagement, suggesting moderate levels maximize it. The number and dissimilarity of concepts positively impacted engagement when interacting, while increased visual clutter decreased it. Overall, the study suggests visual complexity can engage consumers on social media if its different dimensions are properly balanced.
The document discusses live chat versus chat bots and proposes a solution using both. It notes that live chat is time consuming and expensive while bots are a one-time build that are good for repetitive tasks. However, bots have limitations around context switching and understanding. The proposed solution is a chat platform that allows both agents and bots to engage customers across channels, with bots handling automated interactions and intelligence features to help bots understand context and language within a business domain.
Modern development platforms have built-in or easy to setup live reload and hot loading capabilities to provide a quick feedback loop that greatly boosts productivity when coding. These tools can be used across web, mobile, and desktop applications for CSS, Node.js, Django, Ruby on Rails, React Native, and Windows to automatically refresh changes in the browser without manually reloading. Linting and type checking tools like ESLint and Flow can be used with editors like Atom to maintain code quality, find bugs, and reduce time spent debugging so more time can be spent building great products.
The document discusses various AI use cases, companies utilizing AI, channels for AI assistants, and machine learning toolkits and implementations. It provides examples of AI being used for shopping recommendations, sales analysis, predictive suggestions, 360 degree banking views, self-driving cars, adaptive learning, home automation, crop dusting drones, and detecting fake news. Popular channels mentioned are voice assistants, workplace messaging, and social messaging. Toolkits discussed are Tensorflow, CNTK, MXNet, and PaddlePaddle along with deep learning frameworks like Torch, Caffe, and Keras. Recommended learning resources on the topics are also provided.
Career advice for beginner software engineersbotsplash.com
This document provides career advice for beginner software engineers. It discusses finding a job, working on the job, building products, and personal development. The document recommends planning and preparing for a job search, using sites like Indeed and LinkedIn, and taking MOOCs or boot camps. It also discusses different job positions, working as part of an agile organization, building products, and the importance of continuous learning.
Node.js Getting Started &amd Best Practicesbotsplash.com
This document provides an overview of Node.js, including getting started, best practices, features, challenges, and deployment. It discusses Node.js basics, when to use it, popular applications, development tools, key features like modules and events, the NPM package manager, common mistakes, alternatives to callbacks, important packages, and deployment/monitoring best practices.
Generative AI technology is a fascinating field that focuses on creating comp...Nohoax Kanont
Generative AI technology is a fascinating field that focuses on creating computer models capable of generating new, original content. It leverages the power of large language models, neural networks, and machine learning to produce content that can mimic human creativity. This technology has seen a surge in innovation and adoption since the introduction of ChatGPT in 2022, leading to significant productivity benefits across various industries. With its ability to generate text, images, video, and audio, generative AI is transforming how we interact with technology and the types of tasks that can be automated.
"Making .NET Application Even Faster", Sergey Teplyakov.pptxFwdays
In this talk we're going to explore performance improvement lifecycle, starting with setting the performance goals, using profilers to figure out the bottle necks, making a fix and validating that the fix works by benchmarking it. The talk will be useful for novice and seasoned .NET developers and architects interested in making their application fast and understanding how things work under the hood.
This PDF delves into the aspects of information security from a forensic perspective, focusing on privacy leaks. It provides insights into the methods and tools used in forensic investigations to uncover and mitigate privacy breaches in mobile and cloud environments.
Increase Quality with User Access Policies - July 2024Peter Caitens
⭐️ Increase Quality with User Access Policies ⭐️, presented by Peter Caitens and Adam Best of Salesforce. View the slides from this session to hear all about “User Access Policies” and how they can help you onboard users faster with greater quality.
How UiPath Discovery Suite supports identification of Agentic Process Automat...DianaGray10
📚 Understand the basics of the newly persona-based LLM-powered Agentic Process Automation and discover how existing UiPath Discovery Suite products like Communication Mining, Process Mining, and Task Mining can be leveraged to identify APA candidates.
Topics Covered:
💡 Idea Behind APA: Explore the innovative concept of Agentic Process Automation and its significance in modern workflows.
🔄 How APA is Different from RPA: Learn the key differences between Agentic Process Automation and Robotic Process Automation.
🚀 Discover the Advantages of APA: Uncover the unique benefits of implementing APA in your organization.
🔍 Identifying APA Candidates with UiPath Discovery Products: See how UiPath's Communication Mining, Process Mining, and Task Mining tools can help pinpoint potential APA candidates.
🔮 Discussion on Expected Future Impacts: Engage in a discussion on the potential future impacts of APA on various industries and business processes.
Enhance your knowledge on the forefront of automation technology and stay ahead with Agentic Process Automation. 🧠💼✨
Speakers:
Arun Kumar Asokan, Delivery Director (US) @ qBotica and UiPath MVP
Naveen Chatlapalli, Solution Architect @ Ashling Partners and UiPath MVP
UiPath Community Day Amsterdam: Code, Collaborate, ConnectUiPathCommunity
Welcome to our third live UiPath Community Day Amsterdam! Come join us for a half-day of networking and UiPath Platform deep-dives, for devs and non-devs alike, in the middle of summer ☀.
📕 Agenda:
12:30 Welcome Coffee/Light Lunch ☕
13:00 Event opening speech
Ebert Knol, Managing Partner, Tacstone Technology
Jonathan Smith, UiPath MVP, RPA Lead, Ciphix
Cristina Vidu, Senior Marketing Manager, UiPath Community EMEA
Dion Mes, Principal Sales Engineer, UiPath
13:15 ASML: RPA as Tactical Automation
Tactical robotic process automation for solving short-term challenges, while establishing standard and re-usable interfaces that fit IT's long-term goals and objectives.
Yannic Suurmeijer, System Architect, ASML
13:30 PostNL: an insight into RPA at PostNL
Showcasing the solutions our automations have provided, the challenges we’ve faced, and the best practices we’ve developed to support our logistics operations.
Leonard Renne, RPA Developer, PostNL
13:45 Break (30')
14:15 Breakout Sessions: Round 1
Modern Document Understanding in the cloud platform: AI-driven UiPath Document Understanding
Mike Bos, Senior Automation Developer, Tacstone Technology
Process Orchestration: scale up and have your Robots work in harmony
Jon Smith, UiPath MVP, RPA Lead, Ciphix
UiPath Integration Service: connect applications, leverage prebuilt connectors, and set up customer connectors
Johans Brink, CTO, MvR digital workforce
15:00 Breakout Sessions: Round 2
Automation, and GenAI: practical use cases for value generation
Thomas Janssen, UiPath MVP, Senior Automation Developer, Automation Heroes
Human in the Loop/Action Center
Dion Mes, Principal Sales Engineer @UiPath
Improving development with coded workflows
Idris Janszen, Technical Consultant, Ilionx
15:45 End remarks
16:00 Community fun games, sharing knowledge, drinks, and bites 🍻
Demystifying Neural Networks And Building Cybersecurity ApplicationsPriyanka Aash
In today's rapidly evolving technological landscape, Artificial Neural Networks (ANNs) have emerged as a cornerstone of artificial intelligence, revolutionizing various fields including cybersecurity. Inspired by the intricacies of the human brain, ANNs have a rich history and a complex structure that enables them to learn and make decisions. This blog aims to unravel the mysteries of neural networks, explore their mathematical foundations, and demonstrate their practical applications, particularly in building robust malware detection systems using Convolutional Neural Networks (CNNs).
Garbage In, Garbage Out: Why poor data curation is killing your AI models (an...Zilliz
Enterprises have traditionally prioritized data quantity, assuming more is better for AI performance. However, a new reality is setting in: high-quality data, not just volume, is the key. This shift exposes a critical gap – many organizations struggle to understand their existing data and lack effective curation strategies and tools. This talk dives into these data challenges and explores the methods of automating data curation.
Redefining Cybersecurity with AI CapabilitiesPriyanka Aash
In this comprehensive overview of Cisco's latest innovations in cybersecurity, the focus is squarely on resilience and adaptation in the face of evolving threats. The discussion covers the imperative of tackling Mal information, the increasing sophistication of insider attacks, and the expanding attack surfaces in a hybrid work environment. Emphasizing a shift towards integrated platforms over fragmented tools, Cisco introduces its Security Cloud, designed to provide end-to-end visibility and robust protection across user interactions, cloud environments, and breaches. AI emerges as a pivotal tool, from enhancing user experiences to predicting and defending against cyber threats. The blog underscores Cisco's commitment to simplifying security stacks while ensuring efficacy and economic feasibility, making a compelling case for their platform approach in safeguarding digital landscapes.
Cracking AI Black Box - Strategies for Customer-centric Enterprise ExcellenceQuentin Reul
The democratization of Generative AI is ushering in a new era of innovation for enterprises. Discover how you can harness this powerful technology to deliver unparalleled customer value and securing a formidable competitive advantage in today's competitive market. In this session, you will learn how to:
- Identify high-impact customer needs with precision
- Harness the power of large language models to address specific customer needs effectively
- Implement AI responsibly to build trust and foster strong customer relationships
Whether you're at the early stages of your AI journey or looking to optimize existing initiatives, this session will provide you with actionable insights and strategies needed to leverage AI as a powerful catalyst for customer-driven enterprise success.
3. About Me
Cofounder / CTO at Botsplash
Software-as-a-service and hosted
messaging platform to engage
businesses and customers. botsplash.com
4. What is Postgresql?
• Free & Open Source RDMS
• Alternative to Microsoft SQL Server, MySQL, Oracle, Mongo
DB or any RDBMS and NoSQL databases
• Battle tested for over 30 years with continuous
improvements to support modern applications
9. Compare with others
• Replaces
• Mongo Db
• SQL Server
• MySQL
• Oracle
• Complements
• Redis
• Elasticsearch
• Clickhouse
Source: NoSQL Performance Benchmark 02/27/2018
10. History & What’s new Version Major Feature
V12
10/03/2019
JSONB Query & Partition
Improvements, Performance
V11
10/18/2018
Query Parallelism Improvements
Just-in-time compilation
V10
10/05/2017
Declarative Table Partitions
Logical Replication
Improved Monitoring and Control
V9.6
09/29/2016
Parallel Query
Foreign Data Wrappers
Replication
V9.5
07/01/2016
JSONB Modifying Operators
Row level security
UPSERT statement
V9.4
12/18/2014
Introduce JSONB
Materialized View Improvements
Source: Postgresql Releases
11. Getting Started
• Download and Install
• Postgres 11+ supports Windows
2012 R2 deployment.
• Cloud hosting options
• Client
• pgAdmin
• psql command line
12. SQL Support
• Case Sensitive Schema Names
• Case Sensitive Data Storage
• Type casting & Operators
• Date Time formatting
• Common Table Expressions
• Array Data Types
• Upserts
• Stored Procedures
• Multiple languages support
13. Common Data Types
Data Type Commonly Used Names
Number Smallint, integer, Bigint, decimal, Money
Number (auto) Serial, BigSerial
Enum Enum data types stored
Character Char, nchar, Text
Binary Bytea
Date Time Timestamp with timezone, Timestamp without Timezone, interval
Collections Array, JSON, JSONB
Misc Boolean, UUID, Geo Types, Network Address Mac Address, Custom Types
Full Text Search TsVector, TsQuery
See details from tutorials point
14. Special Data Types
• Collections
• Arrays
• Range Types
• Searchable
• Indexable
• Aggregate functions
Credit: Igal Sapir slides
15. JSON Datatypes
• Equivalent to embedded MongoDB
Credit: postgresql documentation
Notable Functions Description
::JSONB Casting
|| or JSONB_SET or
JSONB_BUILD_OBJECT
Build or set JSONB values
JSONB_AGG &
JSONB_BUILD_ARRAY
Aggregate functions
JSONB_PATH_*,
JSONB_EACH,
JSONB_EXTRACT
Path & Extract Functions
JSONB DEMO
16. Advanced Data Types
• Pivot Tables crosstab function
• Materialized Views
• HStore
• EXPLAIN ANALYZE
• Pg_stat
• XML Columns (not much used)
17. Concurrency - MVCC
• Postgres uses “Multi-version concurrency control”.
• Isolation at “read-committed” level
• Row level locks are explicit
• Same technique used in Oracle, CouchDB, etc
18. Indexes
• Index Support
• Single Column / Exact Matches
• Multi Column
• Unique
• Partial Indexes
• Expression Indexes
• Implicit Indexes (PK, UK)
Credit: Igal Sapir slides
19. Disadvantages / Limits
• Database only solution
• Few available tools
compared to commercial
• Limited Talent Pool
Source: https://www.youtube.com/watch?v=6p2TNPabt6M
Source: Postgres limits from sreenstepslive.com
20. Best Practices
• Performance Optimization
• Do not read from Database at all
• Use indexes efficiently
• Use pg_stats collector to monitor usage and performance
• Vacuum regularly to clean up storage
• Bench mark hardware and optimize pg parameters
• Always use SSL for connectivity in untrusted networks
21. Reasons to Fill Out Session Evaluations
Helps Speakers
Helps Organizers
Helps You!
22. References and Follow up
• Postgresql Documentatoin
• Igal Sapir Postgresql Presentation
• Introduction to Postgresql slideshare
• The Internals of Postgresql
• Postgresql excercises
• MVCC: postgres internals or interdb
Questions? Contact me at ramu@botsplash.com