Last week, we revealed the top ranked best email marketing blog posts in positions 10 to 6 in 2013. Email deliverability, DKIM and email subject lines were all subjects that our readers were interested, so let’s see what other posts they really liked in 2013. Time for the top five best email marketing blog posts!

#5. Converting to 1024-bit DKIM

In the fifth place, is a post from 2012 by Mike Hillyer from Product Management that snuck into our rankings – looks like information about upgrading DKIM keys to 1024-bit still is a hot topic among our readers in 2013!

#4. Appeasing ISPs: When Speedy Email Delivery Is A Problem

Ahhh which email marketer doesn’t want to be on the good side of Internet Service Providers? And that they can with Adaptive Delivery®! Solution engineer, Tom Cain explains how Adaptive Delivery automatically adjusts the speed of email being sent based on feedback by ISPs in real-time.

#3. The Latest Word on Push Notifications and Mobile App Messaging

Making an entry in third place, is Senior Content Manager, John Pinson’s post on push notifications! Want to increase customer engagement through mobile app marketing with both mobile and push messaging? Talk to us, we’ve got the solution for you with Momentum Mobile. But first, read John’s excellent post on mobile push notifications and their role in driving mobile app engagement!

#2. Tech Tips: How Do I Backup And Restore The Postgres Database?

Karan Singh from Engineering provides a quick guide on how to back up and restore your postgres database! Have you backed up your postgres database lately?

#1. 10 Killer Tips For An Effective Email Marketing Campaign

And in position number 1 is my personal favorite – otherwise known as how Kobo convinced me to shell out a significant amount of money on books in one single email! I’m biased of course, but I very much enjoyed writing this blog post and I’m glad you enjoyed reading it on your part!

Dear readers, thanks for the support in 2013, and we look forward to bringing you even more interesting email mobile marketing news in 2014, be it related to DKIM, postgres, push notifications or email marketing campaign tips!

A successful email campaign starts with understanding what works – or not – in the email industry, download The 6 Secrets of Successful Senders guide today!

Blog_Ads_Guide_6Secrets_082813

First, a disclaimer. This post provides a general guide on how to backup a Postgres Database Table. The examples provided do not refer to any specific table or database. If you are trying to backup a specific table, you should also backup tables which refer to the original tables. As Postgres is a relational database, there will always be references between a number of tables.

This is a ‘how to’ doc which only gives example commands, how it is done actually is solely dependent on the person doing it and specific use cases. Always maintain the integrity of the data you are trying to backup. Backing up the entire database is always a safe option, but when backing up specific tables one needs to be careful.

SQL-dump/pg_dump:

The idea behind the SQL-dump method is to generate a text file with SQL commands that, when fed back to the server, will recreate the database in the same state as it was in at the time of the dump. PostgreSQL provides the utility program pg_dump for this purpose.

pg_dump is an effective and comprehensive tool to take Postgres database backups and use the backups to restore the postgres database. It is however not restricted to Database only. We can use pg_dump to backup tables and then use that to restore individual tables as well. Using pg_dump you can backup the local database and restore it on a remote database.

How to Backup Postgres Database :

  1. Backup a Postgres Table:

    $ /opt/msys/3rdParty/bin/pg_dump

    –table maincontrol.orgs -U ecuser pe -f ms_table.sql

    The above command is an example of how to backup a specific table from a Postgres database. Using the above command we are backing up table ‘orgs’ in schema ‘maincontrol’  from database ‘pe’ to ms_table.sql file. To backup a specific table, use the –table TABLENAME option in the pg_dump command. If there are same table names in different schema then use the –schema SCHEMANAME option.

  2. Backup a Specific Postgres database :

    $ /opt/msys/3rdParty/bin/pg_dump -U ecuser pe -f pe_dump.sql

    This is an example of backing up a specific Postgres database. Using the above command we are backing up the database for Message Central ‘pe’ to file pe_dump.sql. The backup file has create table, alter table and copy commands for all the tables in the ‘pe’ database.

  3. Backup all Postgres Databases :

    $ /opt/msys/3rdParty/bin/pg_dumpall -U ecuser> all_dump.sql

    You can backup all the databases using pg_dumpall command. The above command will create a dump of all the databases that reside on the Postgres instance running on a particular server. To list all the database that have been backed up use the command grep “^[\]connect” all.sql.

How to Restore Postgres Database

  1. Restore a Postgres table :

    $ /opt/msys/3rdParty/bin/psql -U ecuser -f ms_table.sql pe

    The above command will install the table that was backed up in ms_table.sql file to the ‘pe’ database. Make sure that this table does not already exist, or you will see a bunch of ‘already exists’ errors. This command creates the table and exports all the data to the newly created table.

  2. Restore a postgres Database :

    $ /opt/msys/3rdParty/bin/psql -U ecuser -d pe -f pe_dump.sql

    Similar to restoring the table, we can use the above command to restore the complete database. Here we are restoring the ‘pe’ database using the file pe_dump.sql which we had created while backing up the database in the Backup section above.

  3. Restore all Databases :

    $ /opt/msys/3rdParty/bin/psql -u ecuser -f all_dump.sql

    Restore all the databases using the above command. ‘all_dump.sql’ was the file that was created using pg_dumpall. The above command will give us all the Postgres databases in the exact state that they were in when a dump was taken from the original database server.

Message Systems software is used to send 20% of the world’s legitimate email. Find out why more brands use our Momentum software.

Blog_Ads_TEI-Momentum_100413

Four years ago, Message Systems had a single product offering in Momentum version 2. While this was a groundbreaking MTA, it was really built for the singular function of processing email very, very quickly. Momentum 2 stored a number of logs but had no local database and did not really need one.

When Momentum version 3 was introduced, it came with a new dashboard that used an embedded PostgreSQL database. Shortly after this release, the product offering expanded to include content creation and campaign tools that also made use of the PostgreSQL database. Intelligent adaptive message shaping was also added utilizing a Riak database. Most recently, introspection and tracing tools were added that make use of a Lucene database.

So why use all these databases? Each of these types of data stores are particularly good at certain functions so we use different databases to make the overall platform solution as efficient as possible. The PostgreSQL database is a powerful SQL relational database with the ability to store complex tables as well as procedures for advanced processing. This is used for the bulk of the data workload in the Message Systems platform.

Riak is a non-SQL database that is designed to work in a distributed environment. It is essentially a key-value pair data store, similar in concept to Hadoop, that is extremely fast and durable. It replicates natively across a cluster to provide fast access to data to any node in a cluster. We use this primarily for the storage and retrieval of message shaping settings for the Adaptive Delivery® component.

Lucene is an Apache project based in Java that delivers extremely high performance text search capabilities. In our case, we record message transaction logs to a Lucene data store so that we can search them at a later date. When necessary, a customer service representative can execute a search against this Lucene data store for any message using a wide variety of factors.

So you can see that each of these data store technologies are widely different and serve very different purposes. Message Systems includes each because they are the best at what they do and they work together to provide the most efficient platform overall.

More Information:

Message Systems Documentation (client login required):

Learn more about why the world’s best brands are using Momentum in the Total Economic White Paper by Forrrester!

Blog_Ads_TEI-Momentum_100413