PostgreSQL (also known as “Postgres”) is an extensible relational database management system with a well-deserved reputation for rock-solid reliability. Many major corporations rely on PostgreSQL for their mission-critical data.
Multiple development platform support
Compugoal Computer Services provides top-level PostgreSQL support to all of our clients using PostgreSQL to drive their businesses. This includes optional 24x7 support. We support ecommerce sites, specialized data-processing systems, data warehouses, content management systems, and more. Whether your application is in Ruby on Rails, Python, PHP, Perl, Java, .NET, or C/C++, End Point engineers can make it work smoothly with the Postgres database behind it.
Data modeling and architecture
We model your data rigorously and ensure that the database design gives consistently meaningful data and effectively enforces your core business practices. Compugoal Computer Services develops software at a higher standard and uses the robustness, power, and extensibility of PostgreSQL to implement key business logic.
Performance and scalability
Tuning the database and optimizing queries is just the beginning. End Point’s PostgreSQL experts have experience supporting applications in situations ranging from mostly-read web traffic to multi-user ecommerce systems with high transactional load.
Client case studies
For Backcountry.com, Compugoal Computer Services built the Bucardo multi-master replication engine to drive several large-scale ecommerce sites. The system handles their high load and provides high availability and fast response times for the customer-facing storefronts as well as back-end customer service staff, accounting, and the warehouse. Learn more about our replication offerings.
MySQL and Friends
If MySQL is your database platform of choice, Compugoal can help in many ways. We have deep familiarity with multiple facets of MySQL and its relatives, Percona and MariaDB. This starts with sensible installation and management, which we can provide through custom packages and maintenance, and continues through sensible configuration tuning. We can help work through production issues or slowdowns and help you get the best performance from your existing cluster, or help you work on expanding your existing application to function with multiple servers as well.
How we get peak performance
There are multiple aspects that need to be considered in order to get peak performance from your database servers. We’ll be glad to analyze your specific situation and identify solutions for common performance issues. This can include tuning adjustments, additional schema-level changes, or alternate approaches to the specific queries you’re looking at. Sometimes something as simple as adding a proper index can have an enormous performance impact. We can also help you scale out using MySQL’s built-in replication and identify particular bottlenecks or issues which might be affecting an existing installation.
Over the years Compugoal has supported and administered hundreds of MySQL databases, including a number with massive amounts of data. Our database developers and DBAs are passionate about helping our customers get the most out of their MySQL databases and with making sure they are securely managed.
Microsoft SQL Server
Microsoft SQL Server is a market-leading proprietary relational database. It is a mature RDBMS, which offers some of the most advanced administrative and developer tools. And, recent versions include powerful clustering options.
Compugoal provides experienced Microsoft SQL Server support for our clients with small and large deployments. Whether your deployments are on-site, hosted, or in the clouds, we make ourselves available 24 hours a day, 7 days a week.
Whether your MS SQL is onsite, at Amazon’s AWS, or Microsoft’s Azure, our engineers can see to its health around the clock. We’re expert at performance tuning, backup and restoration, database migration, high availability, and disaster recovery.
We support trading platforms, ecommerce sites, specialized data-processing systems, data warehouses, and custom applications backed by MS SQL Server. Database security is a function of smart design and vigilant administration.
We’re equally experienced developing new applications and administering existing SQL Server instances. Cumulatively, Compugoal Computer Services has decades of experience in SQL Server development. We regularly use SQL Server for new deployments and our developers have a formal methodological approach to database design.
Solutions for replication
Replication is, simply put, copying data from one place to another. Whether you use PostgreSQL or MySQL for your database system, there are multiple solutions to consider, both built-in and with third-party tools. PostgreSQL includes these capabilities with several built-in replication features such as write-ahead log (WAL) shipping, warm and hot standby, and streaming replication. Some widely-used third-party tools for replication and similar functions include Bucardo (developed by End Point), Slony, Londiste, pgbouncer, and pgpool. MySQL also has built-in replication features for shipping either row data or SQL commands, and can be used in conjunction with other third-party tools.
Each tool has its own strengths and constraints. Compugoal’s consultants have experience determining the tools that work best in various situations and helping you achieve the right balance between cost, availability, and performance.
Replicas for load distribution
Growing businesses often reach a point where their database systems slow unacceptably under increasingly high demand. Replication allows you to create copies, known as slaves or replicas, of your main databases. These replicas can then take some of the load from reporting jobs and other read-only activities. Bucardo and Slony are popular replication solutions that can support this arrangement. PostgreSQL version 9.0 and newer also provide a read-only replica option with its “hot standby” feature. Compugoal Computer Services can help you determine which of these solutions will be best for you and your business.
Bucardo also offers two-way replication such that two databases can be complete authoritative repositories of all information, updated in near real-time. This can be achieved across multiple datacenters for risk mitigation, lower latency to local services, or to distribute load. We can help you avoid pitfalls and make the most of a multi-master replication system.
There are many ways to back up a database. The most common PostgreSQL backup utility, pg_dump, is simple and easy to use, but can add load to your production system. Some workloads benefit from replicating data to a slave database and exporting that periodically instead. We have experience with other backup solutions such as point-in-time recovery (PITR) and filesystem snapshots, and can create a solution suited to your needs.
Businesses have always collected data; many businesses now want to “mine” or analyze their data for marketing, performance, and process optimization purposes. This usually involves very complex queries, which can be expensive both in time and server processing power. A common approach is to periodically transfer the data from production databases into a “data warehouse” to simplify the queries and ease load on the main database servers, in a process known as “Extraction, Transformation, and Loading”, or ETL. Bucardo allows seamless transformation of data between master and replica, and can handle ETL processes in a single package.
Sometimes businesses or applications need to distribute changes across long distances or delayed over time. In these scenarios latency and disruptions to connectivity can affect replication in unexpected ways. Compugoal engineers are versed in the options, and can help you build a solution that will handle your more complex needs.
Upgrading older PostgreSQL & MySQL versions
Like all software, older versions of PostgreSQL and MySQL eventually reach end-of-life status and are no longer supported. Your applications may need updates to be compatible with newer database versions. A continuing upgrade plan is important for any system, and Compugoal engineers can help you plan and execute a smooth PostgreSQL or MySQL upgrade. We also help our clients with those periodic, and always important, security and bug fix releases.
Custom-built PostgreSQL & MySQL deployment packages
Compugoal can build custom PostgreSQL and MySQL packages to suit any special needs you may have. The most popular open source database systems include standard PostgreSQL and MySQL packages that are suitable for most situations. However, some of our clients have needed a custom-built database with different compile options, linking against special versions of 3rd-party software (Perl, Python, PHP, etc.), including modifications developed locally or by the community, or to install to a nonstandard location. At Compugoal we have supported our clients’ needs with specialized PostgreSQL RPM packages deployed via Yum repositories, taking the pain out of custom database deployment.
Migration from legacy character sets to Unicode
The emergence of Unicode as the new standard for character set encoding has simplified storing, processing, and exchanging data between systems. But getting your systems migrated from legacy encodings to Unicode can be a challenge. In PostgreSQL and MySQL, storing text in the Unicode UTF-8 encoding ensures that each character is valid. But this can introduce problems when your database or application raise new errors about invalid data being submitted. Compugoal has years of experience dealing with the transition from legacy encodings to UTF-8 and getting your applications and databases to the Unicode promised land.
Migrations from other databases (SQL Server, Oracle, MySQL) to PostgreSQL
Many businesses are moving away from more expensive or less capable database systems to PostgreSQL. Although the SQL standard provides some consistency between databases, migrating from one system to another is rarely a straightforward process.
Compugoal engineers are well-versed in both modern and older database management systems, whether proprietary or open source. We have experience navigating the complexities that arise during these migrations, and can help you move to the world’s most advanced open source database quickly and with a minimum of interruption to your business.
Even with the best hardware on the market, things can go wrong. You may have state-of-the-art servers with redundant power supplies, multiple network interfaces, and multi-path disk controllers in front of a high-speed SAN, but fire, lightning strike, theft, and other disasters are risks that can take a critical database server offline and cause your business to grind to a halt.
Compugoal can spearhead your recovery. We can help you rebuild on new servers, whether your own or leased dedicated servers. We’ll recreate your PostgreSQL or MySQL setup, restore the data from your backup, and set up any security, special configuration, and other software needed to get your database services working again.
Compared to their relational counterparts, NoSQL databases generally have a flexible data storage format. Whereas most databases require tables to be defined up front, most NoSQL data stores often accept free form records on the fly, with few formatting constraints. Often called schema-less, this is useful when the exact information needed may vary from record to record.
Applications typically access NoSQL data in the form of single records or batches of records in a collection. This simple access pattern has the advantage of allowing a very large data set to be spread across multiple servers, scaling horizontally through the use of both replication and sharding. As a result, very large data sets can be accessed by applications.
The landscape is rich with options. There are several NoSQL database solutions, including Apache Cassandra, CouchDB, MongoDB, Hadoop, and HBase. Each of these has different capabilities, strengths, and weaknesses.
If you find your data access patterns are simple but your data set is large, then NoSQL may be right for you. Whether you have 1 server or 30, let Compugoal’s expertise help you design and maintain your NoSQL data store.
Some NoSQL technologies we use include mongoDB, cassandra, and Couch DB.