Developing Modern Database Applications with PostgreSQL


Book Description

Get up to speed with core PostgreSQL tasks such as database administration, application development, database performance monitoring, and database testing Key FeaturesBuild real-world enterprise database management systems using Postgres 12 featuresExplore the development, administrative and security aspects of PostgreSQL 12Implement best practices from industry experts to build powerful database applicationsBook Description PostgreSQL is an open-source object-relational database management system (DBMS) that provides enterprise-level services, including high performance and scalability. This book is a collection of unique projects providing you with a wealth of information relating to administering, monitoring, and testing PostgreSQL. The focus of each project is on both the development and the administrative aspects of PostgreSQL. Starting by exploring development aspects such as database design and its implementation, you'll then cover PostgreSQL administration by understanding PostgreSQL architecture, PostgreSQL performance, and high-availability clusters. Various PostgreSQL projects are explained through current technologies such as DevOps and cloud platforms using programming languages like Python and Node.js. Later, you'll get to grips with the well-known database API tool, PostgREST, before learning how to use popular PostgreSQL database testing frameworks. The book is also packed with essential tips and tricks and common patterns for working seamlessly in a production environment. All the chapters will be explained with the help of a real-world case study on a small banking application for managing ATM locations in a city. By the end of this DBMS book, you'll be proficient in building reliable database solutions as per your organization's needs. What you will learnSet up high availability PostgreSQL database clusters in the same containment, a cross-containment, and on the cloudMonitor the performance of a PostgreSQL databaseCreate automated unit tests and implement test-driven development for a PostgreSQL databaseDevelop PostgreSQL apps on cloud platforms using DevOps with Python and Node.jsWrite robust APIs for PostgreSQL databases using Python programming, Node.js, and PostgRESTCreate a geospatial database using PostGIS and PostgreSQLImplement automatic configuration by Ansible and Terraform for PostgresWho this book is for This PostgreSQL book is for database developers, database administrators, data architects, or anyone who wants to build end-to-end database projects using Postgres. This book will also appeal to software engineers, IT technicians, computer science researchers, and university students who are interested in database development and administration. Some familiarity with PostgreSQL and Linux is required to grasp the concepts covered in the book effectively.




PostgreSQL Development Essentials


Book Description

Develop programmatic functions to create powerful database applications About This Book Write complex SQL queries and design a robust database design that fits your application's need Improve database performance by indexing, partitioning tables, and query optimizing A comprehensive guide covering the advanced PostgreSQL concepts without any hassle Who This Book Is For If you are a PostgreSQL developer with a basic knowledge of PostgreSQL development and you're want deeper knowledge to develop applications, then this book is for you. As this book does not cover basic installation and configurations, you should have PostgreSQL installed on your machine as a prerequisite. What You Will Learn Write more complex queries with advanced SQL queries Design a database that works with the application exactly the way you want Make the database work in extreme conditions by tuning, optimizing, partitioning, and indexing Develop applications in other programming languages such as Java and PHP Use extensions to get extra benefits in terms of functionality and performance Build an application that does not get locked by data manipulation Explore in-built db functions and data type conversions In Detail PostgreSQL is the most advanced open source database in the world. It is easy to install, configure, and maintain by following the documentation; however, it's difficult to develop applications using programming languages and design databases accordingly. This book is what you need to get the most out of PostgreSQL You will begin with advanced SQL topics such as views, materialized views, and cursors, and learn about performing data type conversions. You will then perform trigger operations and use trigger functions in PostgreSQL. Next we walk through data modeling, normalization concepts, and the effect of transactions and locking on the database. The next half of the book covers the types of indexes, constrains, and the concepts of table partitioning, as well as the different mechanisms and approaches available to write efficient queries or code. Later, we explore PostgreSQL Extensions and Large Object Support in PostgreSQL. Finally, you will perform database operations in PostgreSQL using PHP and Java. By the end of this book, you will have mastered all the aspects of PostgreSQL development. You will be able to build efficient enterprise-grade applications with PostgreSQL by making use of these concepts Style and approach Every chapter follows a step by step approach that first explains the concept , then shows you how to execute it practically so that you can implement them in your application.




Mastering PostgreSQL in Application Development


Book Description

Mastering PostgreSQL in Application Development is intended for developers working on applications that use a database server. The book addresses specifically the PostgreSQL RDBMS: it actually is the world's most advanced Open Source database as said in its slogan on the official website. By the end of this book, you will know why, and agree!




Learning PostgreSQL


Book Description

Create, develop and manage relational databases in real world applications using PostgreSQL About This Book Learn about the PostgreSQL development life cycle including its testing and refactoring Build productive database solutions and use them in Java applications A comprehensive guide to learn about SQL, PostgreSQL procedural language and PL/pgSQL Who This Book Is For If you are a student, database developer or an administrator, interested in developing and maintaining a PostgreSQL database, then this book is for you. No knowledge of database programming or administration is necessary. What You Will Learn Learn concepts of data modelling and relation algebra Install and set up PostgreSQL database server and client software Implement data structures in PostgreSQL Manipulate data in the database using SQL Implement data processing logic in the database with stored functions, triggers and views Test database solutions and assess the performance Integrate database with Java applications Detailed knowledge of the main PostgreSQL building objects, most used extensions Practice database development life cycle including analysis, modelling, (documentation), testing, bug fixes and refactoring In Detail PostgreSQL is one of the most powerful and easy to use database management systems. It has strong support from the community and is being actively developed with a new release every year. PostgreSQL supports the most advanced features included in SQL standards. Also it provides NoSQL capabilities, and very rich data types and extensions. All that makes PostgreSQL a very attractive solution in various kinds of software systems. The book starts with the introduction of relational databases with PostegreSQL. It then moves on to covering data definition language (DDL) with emphasis on PostgreSQL and common DDL commands supported by ANSI SQL. You will then learn the data manipulation language (DML), and advanced topics like locking and multi version concurrency control (MVCC). This will give you a very robust background to tune and troubleshoot your application. The book then covers the implementation of data models in the database such as creating tables, setting up integrity constraints, building indexes, defining views and other schema objects. Next, it will give you an overview about the NoSQL capabilities of PostgreSQL along with Hstore, XML, Json and arrays. Finally by the end of the book, you'll learn to use the JDBC driver and manipulate data objects in the Hibernate framework. Style and approach An easy-to-follow guide to learn programming build applications with PostgreSQL, and manage a PostgreSQL database instance.




PostgreSQL for Data Architects


Book Description

This book is for developers and data architects who have some exposure to databases. It is assumed that you understand the basic concepts of tables and common database objects, including privileges and security.




Developing Modern Database Applications with PostgreSQL


Book Description

Get up to speed with core PostgreSQL tasks such as database administration, application development, database performance monitoring, and database testing Key Features: Build real-world enterprise database management systems using Postgres 12 features Explore the development, administrative and security aspects of PostgreSQL 12 Implement best practices from industry experts to build powerful database applications Book Description: PostgreSQL is an open-source object-relational database management system (DBMS) that provides enterprise-level services, including high performance and scalability. This book is a collection of unique projects providing you with a wealth of information relating to administering, monitoring, and testing PostgreSQL. The focus of each project is on both the development and the administrative aspects of PostgreSQL. Starting by exploring development aspects such as database design and its implementation, you'll then cover PostgreSQL administration by understanding PostgreSQL architecture, PostgreSQL performance, and high-availability clusters. Various PostgreSQL projects are explained through current technologies such as DevOps and cloud platforms using programming languages like Python and Node.js. Later, you'll get to grips with the well-known database API tool, PostgREST, before learning how to use popular PostgreSQL database testing frameworks. The book is also packed with essential tips and tricks and common patterns for working seamlessly in a production environment. All the chapters will be explained with the help of a real-world case study on a small banking application for managing ATM locations in a city. By the end of this DBMS book, you'll be proficient in building reliable database solutions as per your organization's needs. What You Will Learn: Set up high availability PostgreSQL database clusters in the same containment, a cross-containment, and on the cloud Monitor the performance of a PostgreSQL database Create automated unit tests and implement test-driven development for a PostgreSQL database Develop PostgreSQL apps on cloud platforms using DevOps with Python and Node.js Write robust APIs for PostgreSQL databases using Python programming, Node.js, and PostgREST Create a geospatial database using PostGIS and PostgreSQL Implement automatic configuration by Ansible and Terraform for Postgres Who this book is for: This PostgreSQL book is for database developers, database administrators, data architects, or anyone who wants to build end-to-end database projects using Postgres. This book will also appeal to software engineers, IT technicians, computer science researchers, and university students who are interested in database development and administration. Some familiarity with PostgreSQL and Linux is required to grasp the concepts covered in the book effectively.




PostgreSQL 13 Cookbook


Book Description

Get to grips with building reliable, scalable, and maintainable database solutions for enterprises and production databases Key FeaturesImplement PostgreSQL 13 features to perform end-to-end modern database managementDesign, manage, and build enterprise database solutions using a unique recipe-based approachSolve common and not-so-common challenges faced while working to achieve optimal database performanceBook Description PostgreSQL has become the most advanced open source database on the market. This book follows a step-by-step approach, guiding you effectively in deploying PostgreSQL in production environments. The book starts with an introduction to PostgreSQL and its architecture. You’ll cover common and not-so-common challenges faced while designing and managing the database. Next, the book focuses on backup and recovery strategies to ensure your database is steady and achieves optimal performance. Throughout the book, you’ll address key challenges such as maintaining reliability, data integrity, a fault-tolerant environment, a robust feature set, extensibility, consistency, and authentication. Moving ahead, you’ll learn how to manage a PostgreSQL cluster and explore replication features for high availability. Later chapters will assist you in building a secure PostgreSQL server, along with covering recipes for encrypting data in motion and data at rest. Finally, you’ll not only discover how to tune your database for optimal performance but also understand ways to monitor and manage maintenance activities, before learning how to perform PostgreSQL upgrades during downtime. By the end of this book, you’ll be well-versed with the essential PostgreSQL 13 features to build enterprise relational databases. What you will learnUnderstand logical and physical backups in PostgresDemonstrate the different types of replication methods possible with PostgreSQL todaySet up a high availability cluster that provides seamless automatic failover for applicationsSecure a PostgreSQL encryption through authentication, authorization, and auditingAnalyze the live and historic activity of a PostgreSQL serverUnderstand how to monitor critical services in Postgres 13Manage maintenance activities and performance tuning of a PostgreSQL clusterWho this book is for This PostgreSQL book is for database architects, database developers and administrators, or anyone who wants to become well-versed with PostgreSQL 13 features to plan, manage, and design efficient database solutions. Prior experience with the PostgreSQL database and SQL language is expected.




Database Internals


Book Description

When it comes to choosing, using, and maintaining a database, understanding its internals is essential. But with so many distributed databases and tools available today, it’s often difficult to understand what each one offers and how they differ. With this practical guide, Alex Petrov guides developers through the concepts behind modern database and storage engine internals. Throughout the book, you’ll explore relevant material gleaned from numerous books, papers, blog posts, and the source code of several open source databases. These resources are listed at the end of parts one and two. You’ll discover that the most significant distinctions among many modern databases reside in subsystems that determine how storage is organized and how data is distributed. This book examines: Storage engines: Explore storage classification and taxonomy, and dive into B-Tree-based and immutable Log Structured storage engines, with differences and use-cases for each Storage building blocks: Learn how database files are organized to build efficient storage, using auxiliary data structures such as Page Cache, Buffer Pool and Write-Ahead Log Distributed systems: Learn step-by-step how nodes and processes connect and build complex communication patterns Database clusters: Which consistency models are commonly used by modern databases and how distributed storage systems achieve consistency




Seven Databases in Seven Weeks


Book Description

Data is getting bigger and more complex by the day, and so are your choices in handling it. Explore some of the most cutting-edge databases available - from a traditional relational database to newer NoSQL approaches - and make informed decisions about challenging data storage problems. This is the only comprehensive guide to the world of NoSQL databases, with in-depth practical and conceptual introductions to seven different technologies: Redis, Neo4J, CouchDB, MongoDB, HBase, Postgres, and DynamoDB. This second edition includes a new chapter on DynamoDB and updated content for each chapter. While relational databases such as MySQL remain as relevant as ever, the alternative, NoSQL paradigm has opened up new horizons in performance and scalability and changed the way we approach data-centric problems. This book presents the essential concepts behind each database alongside hands-on examples that make each technology come alive. With each database, tackle a real-world problem that highlights the concepts and features that make it shine. Along the way, explore five database models - relational, key/value, columnar, document, and graph - from the perspective of challenges faced by real applications. Learn how MongoDB and CouchDB are strikingly different, make your applications faster with Redis and more connected with Neo4J, build a cluster of HBase servers using cloud services such as Amazon's Elastic MapReduce, and more. This new edition brings a brand new chapter on DynamoDB, updated code samples and exercises, and a more up-to-date account of each database's feature set. Whether you're a programmer building the next big thing, a data scientist seeking solutions to thorny problems, or a technology enthusiast venturing into new territory, you will find something to inspire you in this book. What You Need: You'll need a *nix shell (Mac OS or Linux preferred, Windows users will need Cygwin), Java 6 (or greater), and Ruby 1.8.7 (or greater). Each chapter will list the downloads required for that database.




The Manga Guide to Databases


Book Description

Want to learn about databases without the tedium? With its unique combination of Japanese-style comics and serious educational content, The Manga Guide to Databases is just the book for you. Princess Ruruna is stressed out. With the king and queen away, she has to manage the Kingdom of Kod's humongous fruit-selling empire. Overseas departments, scads of inventory, conflicting prices, and so many customers! It's all such a confusing mess. But a mysterious book and a helpful fairy promise to solve her organizational problems—with the practical magic of databases. In The Manga Guide to Databases, Tico the fairy teaches the Princess how to simplify her data management. We follow along as they design a relational database, understand the entity-relationship model, perform basic database operations, and delve into more advanced topics. Once the Princess is familiar with transactions and basic SQL statements, she can keep her data timely and accurate for the entire kingdom. Finally, Tico explains ways to make the database more efficient and secure, and they discuss methods for concurrency and replication. Examples and exercises (with answer keys) help you learn, and an appendix of frequently used SQL statements gives the tools you need to create and maintain full-featured databases. (Of course, it wouldn't be a royal kingdom without some drama, so read on to find out who gets the girl—the arrogant prince or the humble servant.) This EduManga book is a translation of a bestselling series in Japan, co-published with Ohmsha, Ltd., of Tokyo, Japan.