Is PostgreSQL good enough?

tldr; you can do jobs, queues, real time change feeds, time series, object store, document store, full text search with PostgreSQL. How to, pros/cons, rough performance and complexity levels are all discussed. Many sources and relevant documentation is linked to.

Your database is first. But can PostgreSQL be second?

Web/app projects these days often have many distributed parts. It's not uncommon for groups to use the right tool for the job. The right tools are often something like the choice below.
  • Redis for queuing, and caching.
  • Elastic Search for searching, and log stash.
  • Influxdb or RRD for timeseries.
  • S3 for an object store.
  • PostgreSQL for relational data with constraints, and validation via schemas.
  • Celery for job queues.
  • Kafka for a buffer of queues or stream processing.
  • Exception logging with PostgreSQL (perhaps using Sentry)
  • KDB for low latency analytics on your column oriented data.
  • Mongo/ZODB for storing documents JSON (or mangodb for /dev/null replacement) 
  • SQLite for embedded. 
  • Neo4j for graph databases.
  • RethinkDB for your realtime data, when data changes, other parts 'react'.
  • ...
For all the different nodes this could easily cost thousands a month, require lots of ops knowledge and support, and use up lots of electricity. To set all this up from scratch could cost one to four weeks of developer time depending on if they know the various stacks already. Perhaps you'd have ten nodes to support.

Could you gain an ops advantage by using only PostgreSQL? Especially at the beginning when your system isn't all that big, and your team size is small, and your requirements not extreme? Only one system to setup, monitor, backup, install, upgrade, etc.

This article is my humble attempt to help people answer the question...

Is PostgreSQL good enough?

Can it be 'good enough' for all sorts of different use cases? Or do I need to reach into another toolbox?

Every project is different, and often the requirements can be different. So this question by itself is impossible to answer without qualifiers. Many millions of websites and apps in the world have very few users (less than thousands per month), they might need to handle bursty traffic at 100x the normal rate some times. They might need interactive, or soft realtime performance requirements for queries and reports. It's really quite difficult to answer the question conclusively for every use case, and for every set of requirements. I will give some rough numbers and point to case studies, and external benchmarks for each section.

Most websites and apps don't need to handle 10 million visitors a month, or have 99.999% availability when 95% availability will do, ingest 50 million metric rows per day, or do 400,000 jobs per second, or query over TB's of data with sub millisecond response times.

Tool choice.

I've used a LOT of different databases over time. CDB, Elastic Search, Redis, SAP (is it a db or a COBOL?), BSDDB/GDBM, SQLite... Even written some where the requirements were impossible to match with off the shelf systems and we had to make them ourselves (real time computer vision processing of GB/second in from the network). Often PostgreSQL simply couldn't do the job at hand (or mysql was installed already, and the client insisted). But sometimes PostgreSQL was just merely not the best tool for the job.

A Tool Chest
Recently I read a book about tools. Woodworking tools, not programming tools. The whole philosophy of the book is a bit much to convey here... but The Anarchist's Tool Chest is pretty much all about tool choice (it's also a very fine looking book, that smells good too). One lesson it teaches is about when selecting a plane (you know the things for stripping wood). There are dozens of different types perfect for specific situations. There's also some damn good general purpose planes, and if you just select a couple of good ones you can get quite a lot done. Maybe not the best tool for the job, but at least you will have room for them in your tool chest. On the other hand, there are also swiss army knives, and 200 in one tools off teevee adverts. I'm pretty sure PostgreSQL is some combination of a minimal tool choice and the swiss army knife tool choice in the shape of a big blue solid elephant.

PostgreSQL is an elephant sized tool chest that holds a LOT of tools.

Batteries included?

Does PostgreSQL come with all the parts for full usability? Often the parts are built in, but maybe a bit complicated, but not everything is built in. But luckily there are some good libraries which make the features more usable ("for humans").

For from scratch people, I'll link to the PostgreSQL documentation. I'll also link to already made systems which already use PostgreSQL for (queues, time series, graphs, column stores, document data bases), which you might be able to use for your needs. This article will slanted towards the python stack, but there are definitely alternatives in the node/ruby/perl/java universes. If not, I've listed the PostgreSQL parts and other open source implementations so you can roll your own.

By learning a small number of PostgreSQL commands, it may be possible to use 'good enough' implementations yourself. You might be surprised at what other things you can implement by combining these techniques together. 

Task, or job queues.

Recent versions of PostgeSQL support a couple of useful technologies for efficient and correct queues.

First is the LISTEN/NOTIFY. You can LISTEN for events, and have clients be NOTIFY'd when they happen. So your queue workers don't have to keep polling the database all the time. They can get NOTIFIED when things happen.

The recent addition in 9.5 of the SKIP LOCKED locking clause to PostgreSQL SELECT, enables efficient queues to be written when you have multiple writers and readers. It also means that a queue implementation can be correct [2].

Finally 9.6 saw plenty of VACUUM performance enhancements which help out with queues.

Batteries included?

A very popular job and task system is celery. It can support various SQL backends, including PostgreSQL through sqlalchemy and the Django ORM. [ED: version 4.0 of celery doesn't have pg support]


A newer, and smaller system is called pq. It sort of models itself off the redis python 'rq' queue API. However, with pq you can have a transactional queue. Which is nice if you want to make sure other things are committed AND your job is in the queue. With a separate system this is a bit harder to guarantee.

Is it fast enough? pq states in its documentation that you can do 1000 jobs per second per core... but on my laptop it did around 2000. In the talk "Can elephants queue?" 10,000 messages per second are mentioned with eight clients.

More reading.
  1. http://www.cybertec.at/skip-locked-one-of-my-favorite-9-5-features/
  2. http://blog.2ndquadrant.com/what-is-select-skip-locked-for-in-postgresql-9-5/
  3. https://www.pgcon.org/2016/schedule/track/Applications/929.en.html 

Full text search.

Full text search Searching the full text of the document, and not just the metadata.
PostgreSQL has had full text search for quite a long time as a separate extension, and now it is built in. Recently, it's gotten a few improvements which I think now make it "good enough" for many uses.

The big improvement in 9.6 is phrase search. So if I search for "red hammer" I get things which have both of them - not things that are red, and things that are a hammer. It can also return documents where the first word is red, and then five words later hammer appears.

One other major thing that elastic search does is automatically create indexes on all the fields. You add a document, and then you can search it. That's all you need to do. PostgreSQL is quite a lot more manual than that. You need to tell it which fields to index, and update the index with a trigger on changes (see triggers for automatic updates).  But there are some libraries which make things much easier. One of them is sqlalchemy_searchable. However, I'm not aware of anything as simple and automatic as elastic search here.
  • What about faceted search? These days it's not so hard to do at speed. [6][7]
  • What about substring search on an index (fast LIKE)? It can be made fast with a trigram index. [8][9]
  • Stemming? Yes. [11
  • "Did you mean" fuzzy matching support? Yes. [11
  • Accent support? (My name is René, and that last é breaks sooooo many databases). Yes. [11]
  • Multiple languages? Yes. [11]
  • Regex search when you need it? Yes. [13]
If your main data store is PostgreSQL and you export your data into Elasticsearch (you should NOT use elastic search as the main store, since it still crashes sometimes), then that's also extra work you need to do. With elastic search you also need to manually set weighting of different fields if you want the search to work well. So in the end it's a similar amount of work.

Using the right libraries, I think it's a similar amount of work overall with PostgreSQL. Elasticsearch is still easier initially. To be fair Lucene (which elasticsearch is based on) is a much more advanced text searching system.

What about the speed? They are index searches, and return fast - as designed. At [1] they mention that the speed is ok for 1-2 million documents. They also mention 50ms search time. It's also possible to make replicas for read queries if you don't want to put the search load on your main database. There is another report for searches taking 15ms [10]. Note that elastic search often takes 3-5ms for a search on that same authors hardware. Also note, that the new asyncpg PostgreSQL driver gives significant latency improvements for general queries like this (35ms vs 2ms) [14].

Hybrid searches (relational searches combined with full text search) is another thing that PostgreSQL makes pretty easy. Say you wanted to ask "Give me all companies who have employees who wrote research papers, stack overflow answers, github repos written with the text 'Deep Learning' where the authors live with within 50km of Berlin. PostgreSQL could do those joins fairly efficiently for you.

The other massive advantage of PostgreSQL is that you can keep the search index in sync. The search index can be updated in the same transaction. So your data is consistent, and not out of date. It can be very important for some applications to return the most recent data.

How about searching across multiple human natural languages at once? PostgreSQL allows you to efficiently join across multiple language search results. So if you type "red hammer" into a German hardware website search engine, you can actually get some results.

Anyone wanting more in-depth information should read or watch this FTS presentation [15] from last year. It's by some of the people who has done a lot of work on the implementation, and talks about 9.6 improvements, current problems, and things we might expect to see in version 10. There is also a blog post [16] with more details about various improvements in 9.6 to FTS.


You can see the RUM index extension (which has faster ranking) at https://github.com/postgrespro/rum



More reading.
  1. https://blog.lateral.io/2015/05/full-text-search-in-milliseconds-with-postgresql/
  2. https://billyfung.com/writing/2017/01/postgres-9-6-phrase-search/
  3. https://www.postgresql.org/docs/9.6/static/functions-textsearch.html
  4. http://www.postgresonline.com/journal/archives/368-PostgreSQL-9.6-phrase-text-searching-how-far-apart-can-you-go.html
  5. https://sqlalchemy-searchable.readthedocs.io/
  6. http://akorotkov.github.io/blog/2016/06/17/faceted-search/
  7. http://stackoverflow.com/questions/10875674/any-reason-not-use-postgresqls-built-in-full-text-search-on-heroku  
  8. https://about.gitlab.com/2016/03/18/fast-search-using-postgresql-trigram-indexes/
  9. http://blog.scoutapp.com/articles/2016/07/12/how-to-make-text-searches-in-postgresql-faster-with-trigram-similarity
  10. https://github.com/codeforamerica/ohana-api/issues/139
  11. http://rachbelaid.com/postgres-full-text-search-is-good-enough/  
  12. https://www.compose.com/articles/indexing-for-full-text-search-in-postgresql/
  13. https://www.postgresql.org/docs/9.6/static/functions-matching.html  
  14. https://magic.io/blog/asyncpg-1m-rows-from-postgres-to-python/report.html
  15. https://www.pgcon.org/2016/schedule/events/926.en.html 
  16. https://postgrespro.com/blog/pgsql/111866
     



Time series.

Data points with timestamps.
Time series databases are used a lot for monitoring. Either for monitoring server metrics (like cpu load) or for monitoring sensors and all other manner of things. Perhaps sensor data, or any other IoT application you can think of.

RRDtool from the late 90s.
 To do efficient queries of data over say a whole month or even a year, you need to aggregate the values into smaller buckets. Either minute, hour, day, or month sized buckets. Some data is recorded at such a high frequency, that doing an aggregate (sum, total, ...) of all that data would take quite a while.

Round robin databases don't even store all the raw data, but put things into a circular buffer of time buckets. This saves a LOT of disk space.

The other thing time series databases do is accept a large amount of this type of data. To efficiently take in a lot of data, you can use things like COPY IN, rather than lots of individual inserts, or use SQL arrays of data. In the future (PostgreSQL 10), you should be able to use logical replication to have multiple data collectors.

Materialized views can be handy to have a different view of the internal data structures. To make things easier to query.

date_trunc can be used to truncate a timestamp into the bucket size you want. For example SELECT date_trunc('hour', timestamp) as timestamp.

Array functions, and binary types can be used to store big chunks of data in a compact form for processing later. Many time series databases do not need to know the latest results, and some time lag is good enough.

A BRIN index (new in 9.5) can be very useful for time queries. Selecting between two times on a field indexed with BRIN is much quicker.  "We managed to improve our best case time by a factor of 2.6 and our worst case time by a factor of 30" [7]. As long as the rows are entered roughly in time order [6]. If they are not for some reason you can reorder them on disk with the CLUSTER command -- however, often time series data comes in sorted by time.

Monasca can provide graphana and API, and Monasca queries PostgreSQL. There's still no direct support in grapha for PostgreSQL, however work has been in progress for quite some time. See the pull request in grafana.

Another project which uses time series in PostgreSQL is Tgres. It's compatible with statsd, graphite text for input, and provides enough of the Graphite HTTP API to be usable with Grafana. The author also blogs[1] a lot about different optimal approaches to use for time series databases.

See this talk by Steven Simpson at the fosdem conference about infrastructure monitoring with PostgreSQL. In it he talks about using PostgreSQL to monitor and log a 100 node system.

In an older 'grisha' blog post [5], he states "I was able to sustain a load of ~6K datapoints per second across 6K series" on a 2010 laptop.

Can we get the data into a dataframe structure for analysis easily? Sure, if you are using sqlalchemy and pandas dataframes, you can load dataframes like this...  
df = pd.read_sql(query.statement, query.session.bind)
This lets you unleash some very powerful statistics, and machine learning tools on your data. (there's also a to_sql).


Some more reading.
  1. https://grisha.org/blog/2016/12/16/storing-time-series-in-postgresql-part-ii/
  2. https://www.postgresql.org/docs/9.6/static/parallel-plans.html
  3. http://blog.2ndquadrant.com/parallel-aggregate/
  4. https://mike.depalatis.net/using-postgres-as-a-time-series-database.html  
  5. https://grisha.org/blog/2016/11/08/load-testing-tgres/
  6. http://dba.stackexchange.com/questions/130819/postgresql-9-5-brin-index-dramatically-slower-than-expected
  7. http://dev.sortable.com/brin-indexes-in-postgres-9.5/ 


Object store for binary data. 

Never store images in your database!
I'm sure you've heard it many times before. But what if your images are your most important data? Surely they deserve something better than a filesystem? What if they need to be accessed from more than one web application server? The solution to this problem is often to store things in some cloud based storage like S3.

BYTEA is the type to use for binary data in PostgreSQL if the size is less than 1GB.
CREATE TABLE files (
    id serial primary key,
    filename text not null,
    data bytea not null
)
Note, however, that streaming the file is not really supported with BYTEA by all PostgreSQL drivers. It needs to be entirely in memory.

However, many images are only 200KB or up to 10MB in size. Which should be fine even if you get hundreds of images added per day. A three year old laptop benchmark for you... Saving 2500 1MB iPhone sized images with python and psycopg2 takes about 1 minute and 45 seconds, just using a single core. (That's 2.5GB of data). It can be made 3x faster by using COPY IN/TO BINARY [1], however that is more than fast enough for many uses.

If you need really large objects, then PostgreSQL has something called "Large Objects". But these aren't supported by some backup tools without extra configuration.

Batteries included? Both the python SQL libraries (psycopg2, and sqlalchemy) have builtin support for BYTEA.

But how do you easily copy files out of the database and into it? I made a image save and get gist here to save and get files with a 45 line python script. It's even easier when you use an ORM, since the data is just an attribute (open('bla.png').write(image.data)).

A fairly important thing to consider with putting gigabytes of binary data into your PostgreSQL is that it will affect the backup/restore speed of your other data. This isn't such a problem if you have a hot spare replica, have point in time recovery(with WALL-e, pgbarman), use logical replication, or decide to restore selective tables.

How about speed? I found it faster to put binary data into PostgreSQL compared to S3. Especially on low CPU clients (IoT), where you have to do full checksums of the data before sending it on the client side to S3. This also depends on the geographical location of S3 you are using, and your network connections to it.

S3 also provides other advantages and features (like built in replication, and it's a managed service). But for storing a little bit of binary data, I think PostgreSQL is good enough. Of course if you want a highly durable globally distributed object store with very little setup then things like S3 are first.


More reading.
  1. http://stackoverflow.com/questions/8144002/use-binary-copy-table-from-with-psycopg2/8150329#8150329

Realtime, pubsub, change feeds, Reactive.

Change feeds are a feed you can listen to for changes.  The pubsub (or Publish–subscribe pattern), can be done with LISTEN / NOTIFY and TRIGGER.

Implement You've Got Mail functionality.
This is quite interesting if you are implementing 'soft real time' features on your website or apps. If something happens to your data, then your application can 'immediately' know about it.  Websockets is the name of the web technology which makes this perform well, however HTTP2 also allows server push, and various other systems have been in use for a long time before both of these. Say you were making a chat messaging website, and you wanted to make a "You've got mail!" sound. Your Application can LISTEN to PostgreSQL, and when some data is changed a TRIGGER can send a NOTIFY event which PostgreSQL passes to your application, your application can then push the event to the web browser.

PostgreSQL can not give you hard real time guarantees unfortunately. So custom high end video processing and storage systems, or specialized custom high speed financial products are not domains PostgreSQL is suited.

How well does it perform? In the Queue section, I mentioned thousands of events per core on an old laptop.

Issues for latency are the query planner and optimizer, and VACUUM, and ANALYZE.

The query planner is sort of amazing, but also sort of annoying. It can automatically try and figure out the best way to query data for you. However, it doesn't automatically create an index where it might think one would be good. Depending on environmental factors, like how much CPU, IO, data in various tables and other statistics it gathers, it can change the way it searches for data. This is LOTS better than having to write your queries by hand, and then updating them every time the schema, host, or amount of data changes.

But sometimes it gets things wrong, and that isn't acceptable when you have performance requirements. William Stein (from the Sage Math project) wrote about some queries mysteriously some times being slow at [7]. This was after porting his web app to use PostgreSQL instead of rethinkdb (TLDR; the port was possible and the result faster). The solution is usually to monitor those slow queries, and try to force the query planner to follow a path that you know is fast. Or to add/remove or tweak the index the query may or may not be using. Brady Holt wrote a good article on "Performance Tuning Queries in PostgreSQL".

Later on I cover the topic of column databases, and 'real time' queries over that type of data popular in financial and analytic products (pg doesn't have anything built in yet, but extensions exist).

VACUUM ANALYZE is a process that cleans things up with your data. It's a garbage collector (VACUUM) combined with a statistician (ANALYZE). It seems every release of PostgreSQL improves the performance for various corner cases. It used to have to be run manually, and now automatic VACUUM is a thing. Many more things can be done concurrently, and it can avoid having to read all the data in many more situations. However, sometimes, like with all garbage collectors it makes pauses. On the plus side, it can make your data smaller and inform itself about how to make faster queries. If you need to, you can turn off the autovacuum, and do things more manually. Also, you can just do the ANALYZE part to gather statistics, which can run much faster than VACUUM.

To get better latency with python and PostgreSQL, there is asyncpg by magicstack. Which uses an asynchronous network model (python 3.5+), and the binary PostgreSQL protocol. This can have 2ms query times and is often faster than even golang, and nodejs. It also lets you read in a million rows per second from PostgreSQL to python per core [8]. Memory allocations are reduced, as is context switching - both things that cause latency.

For these reasons, I think it's "good enough" for many soft real time uses, where the occasional time budget failure isn't the end of the world. If you load test your queries on real data (and for more data than you have), then you can be fairly sure it will work ok most of the time. Selecting the appropriate client side driver can also give you significant latency improvements.



More reading.
  1. http://blog.sagemath.com/2017/02/09/rethinkdb-vs-postgres.html
  2. https://almightycouch.org/blog/realtime-changefeeds-postgresql-notify/
  3. https://blog.andyet.com/2015/04/06/postgres-pubsub-with-json/
  4. https://github.com/klaemo/postgres-triggers
  5. https://www.confluent.io/blog/bottled-water-real-time-integration-of-postgresql-and-kafka/
  6. https://www.geekytidbits.com/performance-tuning-postgres/
  7. http://blog.sagemath.com/2017/02/09/rethinkdb-vs-postgres.html 
  8. https://magic.io/blog/asyncpg-1m-rows-from-postgres-to-python/


Log storage and processing

Being able to have your logs in a central place for queries, and statistics is quite helpful. But so is grepping through logs. Doing relational or even full text queries on them is even better.

rsyslog allows you to easily send your logs to a PostgeSQL database [1]. You set it up so that it stores the logs in files, but sends them to your database as well. This means if the database goes down for a while, the logs are still there. The rsyslog documentation has a section on high speed logging by using buffering on the rsyslog side [4].

systemd is the more modern logging system, and it allows logging to remote locations with systemd-journal-remote. It sends JSON lines over HTTPS. You can take the data in with systemd (using it as a buffer) and then pipe it into PostgreSQL with COPY at high rates. The other option is to use the systemd support for sending logs to traditional syslogs like rsyslog, which can send it into a PostgreSQL.

Often you want to grep your logs. SELECT regex matches can be used for grep/grok like functionality. It can also be used to parse your logs into a table format you can more easily query.

TRIGGER can be used to parse the data every time a log entry is inserted. Or you can use MATERIALIZED VIEWs if you don't need to refresh the information as often.

Is it fast enough? See this talk by Steven Simpson at the fosdem conference about infrastructure monitoring with PostgreSQL. In it he talks about using PostgreSQL to monitor and log a 100 node system. PostgreSQL on a single old laptop can quite happy ingest at a rate in the hundreds of thousands of messages per second range. Citusdata is an out of core solution which builds on PostgreSQL(and contributes to it ya!). It is being used to process billions of events, and is used by some of the largest companies on the internet (eg. Cloudflare with 5% of internet traffic uses it for logging). So PostgreSQL can scale up too(with out of core extensions).

Batteries included? In the timeseries database section of this article, I mentioned that you can use grafana with PostgreSQL (with some effort). You can use this for dashboards, and alerting (amongst other things). However, I don't know of any really good systems (Sentry, Datadog, elkstack) which have first class PostgreSQL support out of the box.

One advantage of having your logs in there is that you can write custom queries quite easily. Want to know how many requests per second from App server 1 there were, and link it up to your slow query log? That's just a normal SQL query, and you don't need to have someone grep through the logs... normal SQL tools can be used. When you combine this functionality with existing SQL analytics tools, this is quite nice.

I think it's good enough for many small uses. If you've got more than 100 nodes, or are doing a lot of events, it might not be the best solution (unless you have quite a powerful PostgreSQL cluster). It does take a bit more work, and it's not the road most traveled. However it does let you use all the SQL analytics tools with one of the best metrics and alerting systems.


More reading.
  1. http://www.rsyslog.com/doc/v8-stable/tutorials/database.html
  2. https://www.postgresql.org/docs/9.6/static/plpgsql-trigger.html
  3. https://www.postgresql.org/docs/9.6/static/functions-matching.html
  4. http://www.rsyslog.com/doc/v8-stable/tutorials/high_database_rate.html

Queue for collecting data

When you have traffic bursts, it's good to persist the data quickly, so that you can queue up processing for later. Perhaps you normally get only 100 visitors per day, but then some news article comes out or your website is mentioned on the radio (or maybe spammers strike) -- this is bursty traffic.

Storing data, for processing later is things that systems like Kafka excel at.
 Using the COPY command, rather than lots of separate inserts can give you a very nice speedup for buffering data. If you do some processing on the data, or have constraints and indexes, all these things slow it down. So instead you can just put it in a normal table, and then process the data like you would with a queue.

A lot of the notes for Log storage, and Queuing apply here. I guess you're starting to see a pattern? We've been able to use a few building blocks to implement efficient patterns that allow us to use PostgreSQL which might have required specialized databases in the past.

The fastest way to get data into PostgreSQL from python? See this answer [1] where 'COPY {table} FROM STDIN WITH BINARY' is shown to be the fastest way.


More reading.

High availability, elasticity.

“Will the database always be there for you? Will it grow with you?”
To get things going quickly there are a number of places which offer PostgreSQL as a service [3][4][5][6][7][8]. So you can get them to setup replication, monitoring, scaling, backups, and software updates for you.

The Recovery Point Objective (RPO), and Recovery Time Objective (RTO) are different for every project. Not all projects require extreme high availability. For some, it is fine to have the recovery happen hours or even a week later. Other projects can not be down for more than a few minutes or seconds at a time. I would argue that for many non-critical websites a hot standby and offsite backup will be 'good enough'.

I would highly recommend this talk by Gunnar Bluth - "An overview of PostgreSQL's backup, archiving, and replication". However you might want to preprocess the sound with your favourite sound editor (eg. Audacity) to remove the feedback noise. The slides are there however with no ear destroying feedback sounds.

By using a hot standby secondary replication you get the ability to quickly fail over from your main database. So you can be back up within minutes or seconds. By using pgbarman or wall-e, you get point in time recovery offsite backup of the database. To make managing the replicas easier, a tool like repmgr can come in handy.

Having really extreme high availability with PostgreSQL is currently kind of hard, and requires out of core solutions. It should be easier in version 10.0 however.

Patroni is an interesting system which helps you deploy a high availability cluster on AWS (with Spilo which is used in production), and work is in progress so that it works on Kubernetes clusters. Spilo is currently being used in production and can do various management tasks, like auto scaling, backups, node replacement on failure. It can work with a minimum of three nodes.

As you can see there are multiple systems, and multiple vendors that help you scale PostgreSQL. On the low end, you can have backups of your database to S3 for cents per month, and a hotstandby replica for $5/month. You can also scale a single node all the way up to a machine with 24TB of storage, 32 cores and 244GB of memory. That's not in the same range as casandra installations with thousands of nodes, but it's still quite an impressive range.


More reading.
  1. https://edwardsamuel.wordpress.com/2016/04/28/set-up-postgresql-9-5-master-slave-replication-using-repmgr/
  2. https://fosdem.org/2017/schedule/event/postgresql_backup/
  3. https://www.heroku.com/postgres
  4. http://crunchydata.com/
  5. https://2ndquadrant.com/en/
  6. https://www.citusdata.com/
  7. https://www.enterprisedb.com/
  8. https://aws.amazon.com/rds/postgresql/


Column store, graph databases, other databases, ... finally The End?

This article is already way too long... so I'll go quickly over these two topics.

Graph databases like Neo4j allow you to do complex graph queries. Edges, nodes, and hierarchies. How to do that in PostgreSQL? Denormalise the data, and use a path like attribute and LIKE. So to find things in a graph, say all the children, you can pre-compute the path inside a string, rather than do complex recursive queries and joins using foreign keys.
SELECT * FROM nodes WHERE path LIKE '/parenta/child2/child3%';
Then you don't need super complex queries to get the graph structure from parent_id, child_ids and such. (Remember before how you can put a trigram index for fast LIKEs?) You can also use other pattern matching queries on this path, to do things like find all the parents up to 3 levels high that have a child.

Tagging data with a fast LIKE becomes very easy as well. Just store the tags in a comma separated field and use an index on it.

Column stores are where the data is stored in a column layout, instead of in rows. Often used for real time analytic work loads. One the oldest and best of these is Kdb+. Google made one, Druid is another popular one, and there are also plenty of custom ones used in graphics.

But doesn't PostgreSQL store everything in row based format? Yes it does. However, there is an open source extension called cstore_fdw by Citus Data which is a column-oriented store for PostgreSQL.

So how fast is it? There is a great series of articles by Mark Litwintschik, where he benchmarks a billion taxi ride data set with PostgreSQL and with kdb+ and various other systems. Without cstore_fdw, or parallel workers PostgreSQL took 3.5 hours to do a query. With 4 parallel workers, it was reduced to 1 hour and 1 minute. With cstore_fdw it took 2 minutes and 32 seconds. What a speed up!

The End.

I'm sorry that was so long. But it could have been way longer. It's not my fault...


PostgreSQL carries around such a giant Tool Chest.


Hopefully all these words may be helpful next time you want to use PostgreSQL for something outside of relational data. Also, I hope you can see that it can be possible to replace 10 database systems with just one, and that by doing so you can a gain significant ops advantage.

Any corrections or suggestions? Please leave a comment, or see you on twitter @renedudfield
There was discussion on hn and python reddit.

Comments

Harshal said…
Small typo I think. date_trunc() not data_trunc()
René Dudfield said…
Oops. Thanks :)
Unknown said…
New celery doesn't support postgreSQL as broker.

http://docs.celeryproject.org/en/latest/getting-started/brokers/

If You want to use celery You need something else to handle queues.
Anonymous said…
Fantastic post, thanks a lot
René Dudfield said…
Thanks Pawel, I updated that section.

Cheers Martin!
StandardFare said…
Great article! Very interesting and informative. Unfortunately I've been quite boring with databases and stuck with MySQL but this article has got me excited to try Postgres!
Jeff Shaw said…
Would ltree not be a better choice for a graph database?
Fotis said…
Great post, thank you for sharing this !
Jarle Stabell said…
Amazing post, thanks! :)
Timo said…
Wouldn't that suggestion for a graph database only cover trees? imagine you want to put K5 into a database like that, and you'd put only parents and parent's parents for each path, it'd look like Node 1: 2/1, 2/3, 2/4, 2/4, 3/1, 3/2, 3/4, 3/5, 4/1, 4/2, 4/3, 4/5, 5/1, 5/2, 5/3, 5/4; Node 2: 1/2, 1/3, 1/4, 1/5, 3/1, 3/2, 3/3, 3/4, 3/5, 4/1, 4/2, 4/3, 4/5, 5/1, 5/2, 5/3, 5/4, Node 3: ...

You get the idea. Is that still useful? And your article even suggests going 3 levels deep! Wow!
René Dudfield said…
@Timo: yes, you are correct! It's only useful for trees. The technique I mentioned is called 'materialized paths'.

If you want to do spatial searches (PostGIS) or shortest paths (pgRouting). I think it's supposed to be one of the best in that domain.

Recursive CTE queries are useful for graphs.
http://stackoverflow.com/questions/28758058/aggregating-connected-sets-of-nodes-edges
http://www.postgresqltutorial.com/postgresql-recursive-query/
http://www.slideshare.net/quipo/rdbms-in-the-social-networks-age/
http://stackoverflow.com/questions/1822802/postgresql-how-to-optimize-my-database-for-storing-and-querying-a-huge-graph

Graphs are a huge topic, but I think you can do quite a few things with PostgreSQL. But not all. Probably not such things as multi view geometry, or sub millisecond queries on 5 billion nodes ;) I don't think you'll run into troubles if you have under a million nodes and 10 million edges for many uses.
robinloxley said…
Nice post. I Guess Postgres will be the first tool for many POCs before going into details.
Eric Hanson said…
This comment has been removed by the author.
Eric Hanson said…
Agree agree agree! You might be interested in Aquameta, my project to rethink the whole web stack in PostgreSQL.

http://aquameta.org/

We've implemented most parts of the stack in PostgreSQL, including version control of data instead of files, an event system, a web server, a file system foreign data wrapper and front-end web framework.

Since it's all PostgreSQL under the hood, all these great usage scenarios you mention can be used in conjunction with Aquameta.

Project is in early stages but we're close to a 0.2 release.
Alley John said…



Word Counter Tool is a free online word count tool to help you count and calculate the number of words in a text. This online tool can also calculate the total character or letter count, sentences, and paragraphs for the text entered in the input box. So connect with MyAssignmentHelp for getting the best Word Counter.
Robert said…

I’m impressed, I must say. Seldom do I come across a blog
that’s equally educative and interesting, and without a doubt, you’ve hit the
nail on the head. The problem is something which too few folks are speaking intelligently about.
I am very happy I found this in my search for something concerning this.
reaver pro 2 iso full version crack
driver easy pro crack
avast premier crack
speedypc pro crack serial key full version
You can get Apple-certified repairs and service at the Apple Store or with one of our Apple Authorized Service Providers.
mobile phone repair in Niles
Worked as a Senior SEO & Digital & Social Media & Graphics Design & cpa & Drop shipping & Video Editing And Youtube & Web Design And Development & Affiliate Marketing trainer at BITM (BASIS Institute of Technology & Management) since 2014-2018. Successfully completed 50+ SEO batches, 20+
Affiliate Marketing batches and 30+ workshop on Freelancing under SEIP (Skills for Employment Investment Program).
Best Graphic Design training in Bangladesh
Free bangla sex video:careful
Anonymous said…
Thanks for another informative blog. The place else
could I am getting that kind of information written in such
an ideal way? I’ve a undertaking that I am just now operating on, and I’ve been on the glance out for
such info.
stellar phoenix data recovery crack
Alice Johnn said…
I wanted to let you know about our powerful Exit Intent® technology that converts abandoning website visitors into email subscribers and customers.
mcafee.com/activate
mcafee.com/activate
Rock Johnson prize contest here came up with an offer where you can win a special Rock Johnson prize toll free number just by playing a game and win prizes.Here the Rock Johnson prize contest call us at 8515997675.
Rock Johnson prize contest here came up with an offer where you can win a special Rock Johnson prize toll free number just by playing a game and win prizes.Here the Rock Johnson prize contest call us at 8515997675.
Mia said…
, I like how the writer organized his
thoughts in addition to the visual part.
Viral Business said…
Viral Business Group, a brand of success & trust. We’re are an eminent brand in the industry that is well-known for its on-time project delivery. We provide affordable content marketing, SEO, web design & development, social media marketing & more to our trustworthy clients. Moreover, our professional experts always available to solve your queries effectively.
M. Irfan said…
Thanks for the auspicious writeup. It actually used to be a
leisure account it. Glance complicated to far
brought agreeable from you! By the way, how can we be in contact?
radmin vpn crack
windows 7 starter product key
soft maker crack
Alex Tate1 said…
At times, professors dole out the topic and at times the students need to pick the subject for an examination paper and it gets imperative to pick an extraordinary theme to compose a decent java assignment writing help paper.
Ravika Singh said…
Do you want something that makes you calm and relax? So, you don’t need to
worry about it because you are going to be served up with the hotties via
connecting our escorts in jaipur.
https://escortservicesinjaipurcity.com/
https://escortservicesinjaipurcity.com/escort-service-in-jaipur/
https://escortservicesinjaipurcity.com/jaipur-escorts/
https://escortservicesinjaipurcity.com/jaipur-escort-service/
https://escortservicesinjaipurcity.com/jaipur-call-girls-service/
https://escortservicesinjaipurcity.com/contact-us-jaipur-call-girls/

Dofollow



Ravika Singh said…
Do you want something that makes you calm and relax? So, you don’t need to
worry about it because you are going to be served up with the hotties via
connecting our escorts in jaipur.
https://escortservicesinjaipurcity.com/
https://escortservicesinjaipurcity.com/escort-service-in-jaipur/
https://escortservicesinjaipurcity.com/jaipur-escorts/
https://escortservicesinjaipurcity.com/jaipur-escort-service/
https://escortservicesinjaipurcity.com/jaipur-call-girls-service/
https://escortservicesinjaipurcity.com/contact-us-jaipur-call-girls/

Dofollow



Ravika Singh said…


Oriental Spa Center in Gurgaon one of the best Body massage center
in Gurgaon Near Shona Road Provide Professional Luxury services For Gents | Ladies
https://spacenteringurgaon.com/
http://spacenteringurgaon.com/body-massage-center-saket/
https://spacenteringurgaon.com/spa-center-in-gurgaon/
https://spacenteringurgaon.com/gurugram-spa-center/
https://spacenteringurgaon.com/best-spa-center-in-gurgaon/
https://spacenteringurgaon.com/aerocity-body-massage-center/
https://spacenteringurgaon.com/my-post/
Dofollow Click Here

Cately Ngon said…
Nice post! We are Indian government-licensed approved pharmaceuticals so we assure you of the genuine quality of medicine at an affordable cost. You can easily buy online enzalutamide from us. Click Link Now:
enzalutamide cost
buy enzalutamide online
enzalutamide 40 mg
enzamide 40 mg price
enzalutamide 80 mg
Crack said…
I'm really impressed with your writing skills, as smart as the structure of your weblog.
Is this a paid topic or do you change it yourself?
However, stopping by with great quality writing, it's hard to see any good blog today.

action director video editor cracked
wavecut audio editor crack
avg internet security crack
photo stamp remover crack
Law Writing said…
Law Writing is a leading firm that offers law dissertation services to students all over the UK. It is easy to approach online dissertation writing services from all around the globe
Ch Tariq said…
whoah, this blog is fantastic I really like studying your posts.
Keep up the great work! You already know, a lot of persons are looking
round for this information, you could help them
greatly.
wondershare dr fone crack
wondershare dr fone crack
adobe premiere pro crack
share it for pc windows 32 bit 64 bit crack
fl studio crack
Adeel Nawaz said…
Great web site. A lot of useful info here. I’m sending
it to several buddies ans additionally sharing in delicious.
And certainly, thanks for your sweat!

buy age of empires cd key crack
autodesk autocad civil 3d
eventsentry 4 crack
bitdefender total security key
apex launcher apk
essay help zone said…
Essay Help Zone offers you to avail essay writing services all over the UK. The entire procedure of custom essay writing is at the fingertips of professional essay writers. An online help through experts will give you complete guidance for the best understanding of the concepts. Their objective is to ensure top-notch quality. The right procedures of working help the team to produce plagiarism-free results for online essay writing. Their preference is to provide on-time delivery to the customers. They provide unlimited revisions for your essay.
Jenifer said…
Melbourne is a famous city in Australia, where a student from everywhere the world comes to join various organizations in Melbourne. It is the capital city of the province of Victoria. This is the best spot for worldwide students. The degree from the college will help you get a new line of work all over the place; the colleges have front line offices. Their imprints will help to research and advancement offices. Best assignment help administrations Melbourne, help students to score high in the semesters. Our assignment specialists offer help to the students to get proficient help for the students. more- nursing assignment help , assignment help australia
shahbaz said…
I liked your blog ... very beautiful colors and themes. Did you create this page?
Did you hire someone or did you hire someone to do that?
Please reply that I would like to design my own blog
I want to know where he got this from. Thank you very much

cubase pro crack
gilisoft video converter crack
Unknown said…
wow amazing such post is very impressive thanks for sharing
https://crackmac.org/coffeecup-html-editor-crack-serial-key
Monnika Jacob said…
According to my conclusion and experts of Assignment Writing Services, PostgreSQL is good enough as it is world's advanced open source database which can be easy to use for any new user.
Jack Sparrow said…
Mirillis Action Serial Number Your commitment to your work is causing lead us to progress! thanks
Ravika Singh said…
Private Detective Agency in Gurgaon or Spy Detective Agency is among the best detective agency in Gurgaon for solving all type of investigative cases across all over India with 100% efficiency ratio.

Private Detective Agency in Gurgaon

Spy Agency in Gurgaon


Dofollow

Ella Taylor said…
This comment has been removed by the author.
Nice message, I am reviewing this blog all the time and it impressed me a lot!
Very useful information, especially the last step: I tend to deal with this kind of information. I am looking for this
Extra information for a long time. Thank you and good luck.
automatic email manager
4k video downloader
vmware workstation pro 15 5 crack
fl studio crack
Shoaib Malik said…
I really liked your article.Much thanks again. Really Great.
faststone capture crack
avast antivirus 2020 crack
pluraleyes crack

Asif Raza said…
This is very attention-grabbing, You’re an overly skilled blogger.
I’ve joined your feed and look ahead to seeking more of your great post.
Additionally, I have shared your site in my social networks
quarkxpress crack
protected folder crack
qimage ultimate
gsa search engine ranker
dual space apk
Asif Raza said…
This is very attention-grabbing, You’re an overly skilled blogger.
I’ve joined your feed and look ahead to seeking more of your great post.
Additionally, I have shared your site in my social networks
macbooster crack
adobe lightroom
cyberlink photodirector
youtube by click
score hero apk
Asif Raza said…
This is very attention-grabbing, You’re an overly skilled blogger.
I’ve joined your feed and look ahead to seeking more of your great post.
Additionally, I have shared your site in my social networks
natural reader crack
folder lock crack
bullguard premium protection crack
daemon tools ultra crack
hopeless 3 dark hollow earth
James Rise said…
Are you wondering how to setup ATT email settings for thunderbird? Well, it’s easy! You can do the settings by Opening the files and then go to Account Settings. Under Account Settings, Choose your Email Account for update and you can create a new account. Go to Email Settings and choose a pop and imap option. Verify all the credentials and easily setup your account.
Jack Parker said…
Good Project management is the one who can identify and handle the conflicts raised in the business efficiently. This requires lots of experience with conflict management strategies to perform well in the industry. And students who are pursuing this major are finding difficult to finish their Psychology assignment help due to lack to industry experience. GotoAssignmentHelpwith the best of best experts is availing all the Project assignment helpservices at your budget. Our quality writings never fail in acquiring 100% plagiarism free report constantly. We are also facilitating online Personal finance assignment help services 24/7 365 days.
Taha Rao said…
Heya! I realize this is sort of off-topic but I had to ask.
Does running a well-established website such as yours take a large amount of work?
I am completely new to operating a blog however I do write in my journal
every day. I’d like to start a blog so I can share my own experience and views online.
Please let me know if you have any kind of recommendations or
tips for new aspiring blog owners. Thank you!
hard disk sentinel pro crack
Unknown said…
For guidance in Assignment help and computer science with expertise knowledgeable tips.
Taha Rao said…
I was recommended this blog by my cousin. I’m now not sure whether this put
up is written via him as nobody else recognize such
designated about my problem. You’re incredible! Thanks!
little snitch crack
driver easy pro crack
fl studio crack
final cut pro x crack
If you want the best disposable medical products, like-: Iv cannula, safety iv cannula,3way-stopcock, 3way-stopcock with extension tube, etc. So, please visit our website - https://maisindia.com/
Mais India | IV Cannula
Max Joy said…
This comment has been removed by the author.
Unknown said…
There is a natural way to lose weight and it is a combination of diet and exercise. Losing weight is as simple as elementary math: calories you consume minus calories you burn. If the difference is negative, you will lose weight. If the difference is positive, you will gain weight. The more you exercise, the more calories you will burn. In fact, if you can control the number of calories you consume, you can still lose weight even without exercising. Let's take a few examples:
HTML Compiler Crack
Exif Pilot Crack
TeraCopy Pro Crack
DVDFab Crack
Inpixio Photo Studio Ultimate Crack
CRACKSYS said…
Stardock Groupy Crack lets you manage your tags quickly and naturally in a browser-like interface.
We believe that the human resource assignment comes up with plenty of challenges and most of the students face difficulties in drafting this assignment.
Unknown said…
beautifull and well IObit Uninstaller Pro
Anonymous said…
Our Jamshedpur Escorts Service is famous for beautiful girls. We offer the ultimate collection of females who that ready to offer physical moments and properly handle clients.
Jamshedpur Call Girl

Jamshedpur Call Girl Service

Jamshedpur Escort

Jamshedpur Escort Service

Jamshedpur Escorts

Jamshedpur Female Escorts

Jamshedpur Independent Escorts

shani said…
Crackmods.com
You re in point of fact a just right webmaster. The website loading speed is amazing.
It kind of feels that you're doing any distinctive trick. Moreover, The contents are masterpiece.
you have done a fantastic activity on this subject!

Utorrent Pro Crack

Evaer Video Recorder For Skype Crack

Autocad Autodesk Crack

Windows and Office ISO Crack

VLC Media Player Crack
Sohail babar said…
Someone is necessarily helping in creating critical articles I can name.
This is the first time you visit your site and so far? I was amazed at the analysis you did to create this amazing current edition.
Fantastic Process!
iobit malware fighter pro crack
stardock fences crack serial key
bluestacks crack
It’s not my first time to pay a quick visit this web
site, i am visiting this site dailly and obtain fastidious data from here
daily.

switch sound file converter crack
abelssoft screen photo
textpipe standard
adblock plus for opera crack
hyperion launcher apk
Kiran Jameel said…
Is this a paid topic or do you change it yourself?
However, stopping by with great quality writing, it's hard to see any good blog today.

Acronis True Image Crack
Crackgift.com said…
Sparkol VideoScribe Activation Key
Sparkol VideoScribe Activation Key offers a persuasive video tool that forms a resolution for everyone who wants to introduce new topics and ideas to others through a variety of educational and training objectives or some kind of information. It can also work on all Mac and Windows platforms.
Vcracks said…
Thanks for sharing such a great post. Nice Post I Enjoy! Awesome site you have here but I was curious if you knew of any message boards that cover the same topics talked about here? I’d really like to be a part of group where I can get opinions from other experienced people that share the same interest. If you have any suggestions, please let me know. Bless you!
Ashampoo Burning Studio Crack
vcracks.com
Adobe Premiere Pro Crack
justsofts.com
Unknown said…
Thanks for the post. Very interesting post. This is my first-time visit here. I found so many interesting stuff in your blog.


IB KEYGEN

ccleaner pro crack

We are the best online assignment help UK services for college students.
Visit: Dissertation Help London
chabdullah said…
I really love your blog.. Great colors & theme.
Did you develop this website yourself? Please reply
back as I’m hoping to create my own site and would love to know
where you got this from or just what the theme is named.
Thank you!
melody sauce vst crack
I really love your blog.. Great colors & theme.
Did you develop this website yourself? Please reply
back as I’m hoping to create my own site and would love to know
where you got this from or just what the theme is named.
Thank you!
unipdf full crack

I really love your blog.. Great colors & theme.
Did you develop this website yourself? Please reply
back as I’m hoping to create my own site and would love to know
where you got this from or just what the theme is named.
Thank you!
unipdf full crack
I really love your blog.. Great colors & theme.
Did you develop this website yourself? Please reply
back as I’m hoping to create my own site and would love to know
where you got this from or just what the theme is named.
Thank you!
unipdf full crack

I really love your blog.. Great colors & theme.
Did you develop this website yourself? Please reply
back as I’m hoping to create my own site and would love to know
where you got this from or just what the theme is named.
Thank you!
unipdf full crack

I really love your blog.. Great colors & theme.
Did you develop this website yourself? Please reply
back as I’m hoping to create my own site and would love to know
where you got this from or just what the theme is named.
Thank you!
dune vst crack


I really love your blog.. Great colors & theme.
Did you develop this website yourself? Please reply
back as I’m hoping to create my own site and would love to know
where you got this from or just what the theme is named.
Thank you!
drum extract vst crack


I really love your blog.. Great colors & theme.
Did you develop this website yourself? Please reply
back as I’m hoping to create my own site and would love to know
where you got this from or just what the theme is named.
Thank you!
phpstorm crack


I really love your blog.. Great colors & theme.
Did you develop this website yourself? Please reply
back as I’m hoping to create my own site and would love to know
where you got this from or just what the theme is named.
Thank you!
vmix pro crack


I really love your blog.. Great colors & theme.
Did you develop this website yourself? Please reply
back as I’m hoping to create my own site and would love to know
where you got this from or just what the theme is named.
Thank you!
tenorshare icarefone crack


I really love your blog.. Great colors & theme.
Did you develop this website yourself? Please reply
back as I’m hoping to create my own site and would love to know
where you got this from or just what the theme is named.
Thank you!
save2pc ultimate crack


I really love your blog.. Great colors & theme.
Did you develop this website yourself? Please reply
back as I’m hoping to create my own site and would love to know
where you got this from or just what the theme is named.
Thank you!
korg-m1 vst crack


I really love your blog.. Great colors & theme.
Did you develop this website yourself? Please reply
back as I’m hoping to create my own site and would love to know
where you got this from or just what the theme is named.
Thank you!
lounge lizard vst crack


I really love your blog.. Great colors & theme.
Did you develop this website yourself? Please reply
back as I’m hoping to create my own site and would love to know
where you got this from or just what the theme is named.
Thank you!
nexus vst crack
Great blog! Is your theme custom made or did you download it from somewhere?
A design like yours with a few simple tweeks would really make my blog stand out.
Please let me know where you got your design. Bless you
Unknown said…
youre in point of fact a just right webmaster. The website loading speed is amazing. It kind of feels that you're doing any distinctive trick. Moreover, The contents are masterpiece. you have done a fantastic activity on this subject!

Bandicam Crackk


John said…
When you feel that your academic paper is going to hard-hitting thus grasp the assistance of assignment, dissertation, thesis, research paper experts. Because we are playing a major part in the field of thesis service help for years that’s why we are offering the best academic paper as per the given requirement of the students. In this scenario, when you feel that you are not able to solve the problematic issues of academic writing thus clutch the helping hands of our experts under one root.
Sarah Winget said…
if you need help with your assignment, you can visit our website for the best assignment composing administration. Start by filling the structure expressing your prerequisites. We permit adaptable installment alternatives for every one of our customers. You can pay a little part of the absolute guaranteed installment toward the start and pay the rest toward the end. You need to give some significant subtleties toward the beginning, for instance, the subject of work, word-breaking point, reference and date of accommodation, and so on You will be furnished with a rundown of teachers from which you can pick the one for your assignment. You can take a gander at their capability, experience, and may likewise visit with them. myassignmenthelp

Great blog! Is your theme custom made or did you download it from somewhere?
A design like yours with a few simple tweeks would really make my blog stand out.
Please let me know where you got your design. Bless you

Great blog! Is your theme custom made or did you download it from somewhere?
A design like yours with a few simple tweeks would really make my blog stand out.
Please let me know where you got your design. Bless you
muvizu
titanium tv mod apk
Amelia Skyler said…
If you are having problem with your Aol account because your Aol not receiving emails then you may follow us for solution in steps or you can also contact with helpline number to get instant support by experts.
Kaylee Brown said…
When you opt for a programming assignment help from the best programmers, you can make time for yourself. You do not have to worry about your programming assignment, and you can easily concentrate on other subjects. If you are working for any company on a part-time basis to earn by yourself, you can devote more time to your work. You can be sure that our programming experts help you complete your programming assignment and giving it to you on time. We understand students' demands and try to serve all by providing help with programming assignments as per the instruction provided.
Adeel Nawaz said…

Hello! I know this is kinda off topic but I was wondering which blog platform are you using for this website? I'm getting sick and tired of Wordpress because I've had problems with hackers and I'm looking at options for another platform. I would be fantastic if you could point me in the direction of a good platform.
windows 7 professional activator
shadow defender crack
duplicate files fixer crack
virtual dj pro crack
  revo uninstaller pro crack
  benthic software pl edit serial key

Sarah Winget said…
These assignments require explicit constructions, references, referring to, and really right information which isn't not difficult to do. In this manner composing assignment for university needs a particular range of abilities which a large portion of the students don't have. These assignments are of various sorts and explicit composing style is required for various kinds of assignments. assignment help melbourne , economics assignment help
encourage foreign investment in high-end manufacturing, intelligent manufacturing and green manufacturing, and upgrade traditional industries.assignment expert
article writer
hire a freelance writer
theology assignment help
ebook writing service
Chris Brown said…
Thanks for sharing the post with us if you need any help in the future then we are there for you to help
Peel Finance
Peel Finance
crackform said…
Sylenth1 Registration Key Free Download is a VSTi virtual analog synthesizer that takes the definition of quality and performance to the next level. So far, very few software synthesizers have been able to meet the sound quality standards of hardware synthesizers.
Avast Driver Updater Registration Key Free Download
Windows Movie Maker Registration Key Free Download
Capture One Registration Key Free Download
crackform said…
Sylenth1 Crack is a VSTi virtual analog synthesizer that takes the definition of quality and performance to the next level. So far, very few software synthesizers have been able to meet the sound quality standards of hardware synthesizers.
Avast Driver Updater Key Crack
Windows Movie Maker Crack
Capture One Pro Crack
crackform said…
Abelssoft AntiRansomware Activation Key Free Latest Version has a background protection program that uses complex algorithms to detect patterns used by all ransomware and even protect your system from new ransomware. Abelssoft AntiRansomware 2020 automatically encrypts private user files and automatically monitors the four user folders that contain photos, documents and videos.
Sylenth1 Activation Key Free Latest Version
Kodak Preps Activation Key Free Latest Version
Audiothing Effect Bundle Activation Key Free Latest Version
crackform said…
Connectify Crack Hotspot Pro Serial Key Crack Latest Version alone is an attractive tool for style and architects. It is not necessary to contract cracks, torrents, or adware. I like to put quite a few properties around the world from plans linked to the schema. This application works on Windows and Mac OS.
Daemon Tools Pro Serial Key Crack Latest Version
WPS Office Serial Key Crack Latest Version
Iobit Malware Fighter Serial Key Crack Latest Version
crackform said…
NetWorx Serial key Crack is a simple yet powerful software that enables you to control your bandwidth over the network. It helps you to detect your possible network problems. It can track suspicious network activity that is primarily targeted by malware and hacker attacks.
Endnote Serial Key Crack
Spotify Premium APK Mod Registration Key Crack
Genesis VST Pro Crack Mac
crackform said…
ReiBoot Pro License Key Crack Free Download is an extremely handy utility that can put your iOS device into recovery mode, as well as to pull it off this state with a single click. Usually, such an operation involves a tedious procedure which requires you to hold down the Home button of the device while disconnecting and connecting it to your computer, during which you also need to operate iTunes.
Synthesia License Key Crack Free Download
Avid Media Composer License Key Crack Free Download
VMware Workstation Pro License Key Crack Free Download
Lightworks License Key Crack Free Download
Are you looking for sexy and bold call girls in Jaipur Escorts? So, you are searching for the right place because we are here now to give you an extreme level of sexual pleasure this you all time wanted with your wife and girlfriend but you never get it.
crackform said…
YTD Video License Key Free Download is the most powerful and impressive application that allows you to download YouTube videos, including HD and HQ videos, Facebook, Vevo, and dozens of other video sites, and convert them to other video formats.
Passfab RaR License Key Free Download
iCloud Remover License Key Free Download
Morphvox License Key Free Download
crackform said…
Cubase Serial Key Crack Latest Version is an extraordinary digital audio workstation that makes it easy to control MIDI with many types of songs. You can organize and edit multiple documents. You can combine two audios into one document or cut any type of music document with this computer software.
IDM Serial Key Crack Latest Version
PowerISO Serial Key Crack Latest Version
Auslogics Driver Updater Serial Key Crack Latest Version
Sarah Wilson said…
This comment has been removed by the author.
Azhar hussain said…



Virtual DJ Pro Crack is an innovative and
unrivaled audio blocking engine and video mixing software. This is one of
the most popular programs in the entire market and became the first program.

tubedigger-crack
You can enter mytv code on your gadget with the assistance of Prime Video application from your browser. With this data convenient, you can get a

novel code and enact their gadgets in under one moment to register your device on amazon prime video on your smart TV.
www.amazon.com/mytv
primevideo.com/mytv
amazon.com/mytv
amazon.com/mytv
amazon.com/mytv
lottie bell said…
The Canon IJ is the most ideal choice for the users for printing high-quality documents.
Ij.start canon |
Ij.start.canon
Martin Wilson said…
Want to activate your McAfee Antivirus subscription bought in the form of a retail card? Mcafee.Com/Activate is your one-stop solution for activating all sorts of McAfee software whether bought in the form of a retail card, a boxed copy, or online.
mcafee.com/activate
Love Never Felt So Good (Original Version) Lyrics. [Intro] One two three. [Verse]
Baby love never felt so good. And I'd die if it ever could.
Watch this Also....


AirServer Crack

xmedia recode crack

systools hard drive crack

minitool power data recovery crack

winsnap crack

Atlantis Word Processor crack

tally erp crack

adobe photoshop lightroom classic crack

tweakbit anti malware crack

pdffactory pro crack

Would you be interested in exchanging Love links?
diyaroy.com said…
Guwahati Escorts or call girls in Guwahati are those call girl who are rocking and
amazing in terms of better-quality sexual performance for the customer.
Guwahati Call Girls
Call Girls in Guwahati
zack said…
Thank you so much admin for sharing such useful information with us. You are doing amazing work keep it up, keep sharing the good article with us. I wish you all the best for the upcoming comment. I have also a few links which might be useful for user I am sharing those links here.

Norton com setup sign in

setup.office.com
zack said…
I'm really impressed about the info you provide in your articles. I must say am highly overwhelmed by your whole story. It’s not easy to get such quality information online nowadays. I look forward to staying here for a long time.

Norton com setup enter product key

www.office.com
daisygeorge390 said…
The cheap shoes online store that is associated with top quality & appearance shoe fit for you
daisygeorge390 said…
We are among the cheap shoes online store where the tech developed to design latest unique shoes with most efficient manner
Adeel Nawaz said…
Wonderful website you have here but I was curious if you knew of any discussion boards
that cover the same topics discussed in this article?
I’d really love to be a part of community where I can get responses from other experienced individuals that share the same interest.
wondershare filmora crack
capture one pro free crack
movavi video converter crack
Sarah Winget said…
Let's be honest! It is difficult to shuffle time across such countless things. On the off chance that as a student, we were a particularly extraordinary time administrator, we would likely have become Elon Musk. So now and again, it gets hard to oversee residence parties, clothing, classes and assignments at the same time. And afterward at last minute, we understand that we completely disregarded that English assignment that will be turned in tomorrow. In such situations it is reasonable to connect with an outside English assignment help. assignment provider , assignment help melbourne
PET AMBER ALERT said…
Being a yahoo user you might have faced several issues in the past and this will continue as well because yahoo mail will keep facing issues and temporary errors. So in such situations you must contact and get guidance from yahoo mail customer service and get out of any technical issue that you might be facing. Yahoo provides skilled technicians for its clients that can assist them 24*7 and can provide an amazing mailing experience to the users.
yahoo mail customer service
Azhar Ali said…
This is very excellent post
WinRAR Keygen Crack
Avail excellent same day dry cleaning services‌‌ and give your clothes a sense of belongingness and earthiness. Our laundry store services include Free pick up, Wash and dry, fold and iron and Free delivery of clean and tidy clothes at your doorsteps.
M.Junaid said…
You are in point of fact a just right webmaster. The website loading speed is amazing. It kind of feels that you're doing any distinctive trick. Moreover, The contents are masterpiece. you have done a fantastic activity on this subject!

DriverMax Pro Crack
crackwizard said…
I don't think I'll be returning to my former participation level; at least not soon. I'm juggling a lot of responsibilities at the moment,

Synthesia Crack

DC-Unlocker Crack

Titanium Backup Pro Crack

Voicemod Pro Crack

Malwarebytes Premium Crack
mark stone said…
Microsoft service such as OneDrive, Outlook.com, Skype, or Xbox Live, it means you already have an account that you can use for any Microsoft activity
Microsoft365.com/setup.
Canon offers the Printer Setup download link where you can install the printer setup further.
http //ij.start.canon , https //ij.start.canon
Canon printers fall in the list of well-known and popular printer brands. Moreover, they are known for providing high-quality printing documents.
http //ij.start.canon
https //ij.start.canon
Crackmods said…
Thank you for sharing excellent information. Your website is so cool. I’m impressed by the details that you have on this blog. It reveals how nicely you perceive this subject. Bookmarked this website page, will come back for more articles. please shear it.Full Convert Ultimate Crack

Open the Amazon Prime Video app on your TV.Sign in with your newly created Amazon Prime video account.There will be a 6 digits code at www.amazon.com/mytv.Enter the Amazon mytv prime video code shown on the TV screen in the activation window on your PC.Your TV has been successfully registered with your amazon.com/mytv.

www.amazon.com/mytv
You can essentially select from your device to the Amazon record and use www.amazon.com/mytv to enter code that is somewhere in the range of 5 and 6 characters and is coordinated on a TV or contraption in the Amazon video software engineer. In the event that you don't have the foggiest idea what the Amazon Prime resembles, www.amazon.com/mytv is a paid participation application that will give you admittance to a wide scope of free quick transmission and limitless electronic video includes that must be gotten to through arrangements, among others.
www.amazon.com/mytv
Go to www.amazon.com/mytv and create your Amazon account, if you already have an account then sign in to your account. Now enter the activation or verification code that appears on your TV display.
amazon.com/mytv
Roku.com/link
Roku.com/link is the page to activate your streaming device on your smart TV. Allow us to begin the enactment cycle. From your cell phone, open an internet browser and glue the URL, www.Roku.com/link.

Roku.com/link
M.Junaid said…
You are in point of fact a just right webmaster. The website loading speed is amazing. It kind of feels that you're doing any distinctive trick. Moreover, The contents are masterpiece. you have done a fantastic activity on this subject!

Movavi Video Editor Plus Crack
M.Junaid said…
You are in point of fact a just right webmaster. The website loading speed is amazing. It kind of feels that you're doing any distinctive trick. Moreover, The contents are masterpiece. you have done a fantastic activity on this subject!

DriverEasy Professional Crack
Unknown said…
Your source for fun, free mobile and PC download games. Thousands of free ... Download or play free online! ... Here is the Exact Arcade Version of Dig Dug!
fifa 13 download pc free full version with crack compressed
Jordan Leonard said…
optimum! I want to do an internship while editing the website, how can I subscribe?
For blog sites? This account helped me close a deal.
I am a little familiar with your post, it provides a clear and bright concept.
beecut crack
glary utilities pro crack
pinegrow web editor crack
bandicut crack
brave browser crack
edius pro crack
PC KEY said…
This is a fascinating and valuable knowledge and fact-gathering project.
I'm grateful that you shared these helpful information with us.
Please maintain our current standard. Thank you for sharing this inf abbyy finereader crack


bitdefender total security crack


iclone pro crack


windows 10 product key latest free


idm crack
ormation.
pcsoftz said…

Thanks for sharing this post. Your work is amazing. You can also check out vstfull Crack for Free. You can also visit the

Parallels Desktop Crack
Unknown said…
Proceed to Engage in Store or Program Store, search for Amazon Prime VideoDownload the program and wait till it is fully set upLogin with your Amazon Video account detailsStart watching your favourite TV shows and Movies What's more, it's possible to simply get Amazon Prime Video content onto your Fire Tablet (powered by Amazon) that comes with Fire OS and also is the best equipment for watching Amazon's premium video material.
Amazon.com/code
Amazon.com/code
Amazon.com/code
Amazon.com/code
amazon.com/redeem check balance
mytv
M.Junaid said…

You are in point of fact a just right webmaster. The website loading speed is amazing. It kind of feels that you're doing any distinctive trick. Moreover, The contents are masterpiece. you have done a fantastic activity on this subject!

Mirillis Action Crack
Andrew Robert said…
CDR Australia provided hassle-free professional CDR Writers Australia. I got my CDR professionally prepared on time. They offered me a detailed questionnaire relevant to my projects and prepared for the CDR For Australia Immigration .Thanks to your team member. Well-done!
CDR Writing Services for Engineers Australia
CDR Report
CDR Professional Services
CDR Australia Sample
Australia CDR Help
CDR Writing Help
This comment has been removed by the author.
If you have recently married or are married to a UK citizen, you can apply for a UK Spouse Visa. Getting a Visa after marriage is possible and is a route to get citizenship in the UK. Many people apply for a UK Spouse Visa. There is a proper process behind it. First of all, you need to prove your relationship and its genuineness. You might need to show some proof to prove that your relationship is solid and real. This would prove that you are worth the Visa. After proving this your chances of getting a Visa increases many times.
physicsbyfiziks said…
Banaras Hindu University Msc is a degree that holds a lot of importance. For getting admission here you need to crack the PET exam. The Bhu Msc Syllabus Physics Entrance Exam varies from subject to subject but some points remain the same like MCQ type questions are asked with total marks of 360 .It would have these basic sections in all exams Aptitude, English Comprehension, Numerical and Quantitative Reasoning, General Knowledge, Current Affairs, Language Proficiency, Analytical Abilities, Mathematical Aptitude.
Jnu is a prestigious institute of India. Getting admission in Jnu Msc Physics Entrance requires a person to give an entrance exam. You need to prepare well for the exam. The syllabus will vary from subject to subject. You need to prepare accordingly. You can get study material and books to prepare for it.



visa simple said…
Under Indefinite Leave to Remain uk (ILR) or Permanent Residency (PR) immigration status, the person is allowed to take a job, business, or education and to stay in the UK without any time limit. It is also known as Settlement. It is issued to a person who does not have the right to abode in the UK i.e. he or she is not allowed to live or work in the UK without any immigration restrictions.

IDM Crack is known as a Setup Software and be alternative of huge figures of people all greater than the world significantly for individuals who’re searching for to hurry up organising course of for HD 1080p, 720p films by the video hosting web sites significantly YouTube reminiscent of one other slot in with the very same market.
Affinity Designer Crack
Camtasia Studio 2021 Crack
Adobe Lightroom Classic CC 2021 Crack
Adobe Photoshop CC 2021 Crack
Adobe Audition Pro CC 2021 Crack
Adobe After Effects CC 2021 Crack
Adobe Acrobat Pro 2021 Crack
Adobe Illustrator CC 2021 crack
Adobe Premiere Pro CC 2021 Full Crack
npn training said…
A number of sites have a group package index that keeps track of the increasing number of open source Spark packages and libraries. Users can find, discuss, rate, and instal packages for any version of Spark using Spark Packages, and developers can contribute packages easily.

Integrations with a variety of data sources, management tools, higher-level domain-specific libraries, machine learning algorithms, code samples, and other Spark material are all available in Spark Packages. Spark-CSV (which is now included in Spark 2.0) and Spark ML integration packages such as GraphFrames and TensorFrames are two examples. Know more about spark and spark packages by joining an apache spark online training.
npn training said…
Data engineers and scientists may use Spark Streaming to process real-time data from a number of sources, including (but not limited to) Kafka, Flume, and Amazon Kinesis. Data can be pushed to filesystems, databases, and live dashboards after it has been processed. A Discretized Stream, or DStream, is the main abstraction, which represents a stream of data separated into small batches. RDDs, Spark's central data abstraction, are the foundation for DStreams. This enables Spark Streaming to work in tandem with other Spark components such as MLlib and Spark SQL. Know more about these spark APIs, join the Best Big Data Hadoop Spark Training.
Sarah Winget said…
Regardless of what sort of business assignment help you need, Top Assignment Service is an all in one resource for a wide range of business assignments you can at any point need. Put in your request in under 10 minutes with our consistent request setting measure and appreciate the assignment writing profits by the solace of your home. assignment provider
assignment help melbourne
Crack Software said…
I am very impressed with your post because this post is very beneficial for me and provide a new knowledge to me
https://vstmania.net/xpand-crack/
https://installcrack.net/iobit-smart-defrag-pro-crack/
https://softwarecrack.org/red-crab-calculator-plus-crack/
https://vstbank.net/windows-repair-pro-crack/
fullcrackedpc said…


Very good article! We will be linking to this particularly great post on our website. Keep up the good writing.

fullcrackedpc.com
vsthomes.com
azharpc.org
justcrackpc.com
xcrack.org
Searching for a black owned clothing store? Here is your search ends. Black Love Boutique is a 100% black owned clothing company that celebrates all things about Black Culture and Black Love. If you are a black lover and style your clothes with black, this website can offer a whole new range of black clothing and accessories for you that inspire, uplift, educate and entertain.
crackwizard said…
I’d really love to be a part of group where I can get advice from other experienced people

that share the same interest. If you have any recommendations, please let me know. Thank

you!

Internet Cyclone Crack

Tomabo MP4 Crack

Panda Dome Premium Crack

Bingo Numbers Crack

Grammarly Crack
visa simple said…
Under Skilled Worker Visa, the person can come and stay in the UK with his/her family for an eligible job with an approved employer given that the job offered is on the eligible occupations list. Other than the exceptions, 1) Irish citizens (no need to apply for a visa or in the EU Settlement Scheme), 2) The applicant living in the UK earlier from 1st January 2021 or being from the EU, Switzerland, Norway, Iceland, and Liechtenstein (can apply in the free EU Settlement Scheme), the person will need a visa to work in the UK.
npn training said…
Hadoop is a Big Data storage and management system that makes use of distributed storage and parallel processing. It is the most widely used programme for dealing with large amounts of data. Checkout the hadoop training institute in bangalore if you want to learn more about Hadoop.
Hadoop is made up of three pieces.
Hadoop HDFS - Hadoop's storage unit is the Hadoop Distributed File System (HDFS).
Hadoop MapReduce - Hadoop MapReduce - Hadoop MapReduce - Hadoop MapRe Hadoop's processing unit is MapReduce.
Hadoop YARN is a resource management component of Hadoop.
fullcrackedpc said…
I like your all post. You have done really good work. Thank you for the information you provide, it helped me a lot. I hope to have many more entries or so from you.
Very interesting blog.
fullcrackedpc.com
vsthomes.com
Allavsoft Video Downloader Converter Crack
Push Video Wallpaper Crack
Softwarezguru said…
Avira Phantom VPN Great blog! Enjoy reading it! I also bookmark this site for visiting and updating regularly! thank for sharing with us!
shakeel said…


Do Your Data Uninstaller Crack
All kinds of apps are available here. It's An Amazing Site.
really a nice post!
visit my side. I hope it will prove helpful for you.
Sarah Winget said…
Our writers will go an additional mile to compose 100% unique and real paper that will help you secure passing marks and let you acquire A decent impression according to educators. We create, nursing assignments that are of excellent and without surpassing the timetables. The majority of the Nursing homework help writers working in our organization hold a Masters, PhDs, enlisted nurses with great industry experience. assignment help
nursing assignment help
Anonymous said…
Open officesetup on home page, and click “Install Office” or Office 356 apps option to begin office.com/setup home & student 2019 , office.com/setup home & student 2019Paypal Login , www.trendmicro.com/activate .


John Tylor said…
There are many usa escort agencies in the USA. But when it comes to genuine and most trustworthy none can stand with us. Escort city We are the top female escort, American call girlsservice provider in the USA. If you choose our female escort service, it will definitely be a wise decision. Offer In Call or OutCall escort service only all VIP hotels. Top-rated New York City escorts updated for 2021. View decadent high-res photos of irresistible escorts available right now. Escort service in California | ESCORT in New York City
PAM Company said…
Thank you for this Post. Good luck.

Electronic city is a very costly city and hiring the packers and movers’ services are not easy. One of the reasons is the budget, because you may have to spend extra on the packaging cost, hiring truck, etc. Plus, it is important that you get proper man-power, so that your goods don’t get damaged. So, choose a reliable Packers and Movers Electronic City, Bangalore. Also, check with cost of the services & delivery time.
fullcrackedpc said…

I like your all post. You have done really good work. Thank you for the information you provide, it helped me a lot. I hope to have many more entries or so from you.
Very interesting blog.
fullcrackedpc.com
vsthomes.com
crackclick said…
BitTorrent Pro Crack is one of the main tools of Peer 2 Peer Networks. Torrent is a file-sharing network between multiple computers through certain software. By using search engines that have these files on their destination computers, you can retrieve the desired file and get it back with software like BitTorrent etc. BitTorrent Pro Crack software is one of the most popular torrent that allows you to easily download your torrent files. BitTorrent Pro compared to similar software. With BitTorrent activation key the advent of this network, the need for massive file sharing loads has reached zero. ََ Everyone in the world can share the files they want with the slowest internet speed. You can download from Crackclick.
Nice Blog !
Our team at QuickBooks Customer Service is always available to answer your concern in the current situation of COVID 19.
Nice Blog !
Our team at QuickBooks Customer Service strive to fulfil all your needs and demands as the situation gets worsened.
fullcrackedpc said…

I like your all post. You have done really good work. Thank you for the information you provide, it helped me a lot. I hope to have many more entries or so from you.
Very interesting blog.
fullcrackedpc.com
vsthomes.com
azharpc.org
AVS Video Converte Crack
Home Plan Pro Crack
Voicemod Pro Crack
Unknown said…
For certain people, dealing with a slow computer is one of the most annoying experiences, like why is my computer so slow they may have. However, before you throw something at your computer or laptop and risk damaging it, ask yourself, "why is my computer so slow?" However, your sluggishness is due to your daily activities, such as running programmes, browsing the Internet, and eventually building up your hard drive.
Unknown said…
One of the most well-known animated image formats is GIF (Graphics Interchange Format). They're completely dominating the online world with their incredible animations. Overall, still images increase the audience's ability to watch animations that say a thousand words in just a few seconds. The most famous GIF sites are Facebook, Tumblr, and BuzzFeed. We are always asked, "how to post a gif on facebook?"
Unknown said…
Many of people don't know what is android auto?When driving with Android Auto, you can take advantage of all of your Android device's capabilities. Simply press your car's monitor or use your Google Assistant to get hands-free assistance. Simply connect your phone to your car display, and your Android applications will appear onscreen. To get driving directions, tap the screen, or chat to send a text message. You can also make a hands-free call to your mom. Android Auto is designed to keep your attention on the lane. And don't forget to have a good time along the way. Simply plug it in and go.
Unknown said…
Despite attending enough and more weddings where the relentless influx of food would exhaust everyone, the South Indian meal was a tragedy. Of course, after fighting my way through a number of vegetarian classes, I was instructed to never refer to the meal as "South Indian." South India's most spice hero Gunpowder and how to make gunpowder especially masala style like South Indian.
Unknown said…
best time to see northern lights in iceland In the months of May and August, the northern lights are apparent for a short period (though because it never gets properly dark in Iceland in the summer, so that would be the wrong time to go looking). Since the nights are the longest from September to March, this is the only time to see the northern lights.
Unknown said…
In an ideal universe, everything is stable and protected until you set up a Windows password, right? Regrettably, this is not the case. A Windows authentication password provides a simple degree of security that primarily protects your files from anyone who can use your computer. However, there are many danger, how to password protect a folder!Learn how to use password protection and encryption to lock your files and directories. how to password protect a folder
Unknown said…
Getting the bravery to approach strangers can be a massive and challenging task How to propose a girl on chat. It's much more difficult when the person you're trying to approach is a pretty girl with whom you'd like to strike up a chat in the hopes of getting a date. Fortunately, there are a few things you can do to improve your chances of making a good impression and reduce your fear of rejection.
Unknown said…
If you have itchy, gritty, flaky, and scaly spots on your skin because of its unpredictability? Almost half of the people of the United States claims to have “sensitive” or “very sensitive” skin, and is prone to these effects. red spots on skin have been a widespread skin problem for a variety of reasons. SkinKraft compiles all of the causes, as well as the methods for identifying them and the therapies that are available.
Unknown said…
kim kardashian net worth is $1.4 billion. Kim makes between $50 and $80 million per year from her various businesses and expanding empire. Kim, for example, earned $72 million from her various endeavours between June 2018 and June 2019, and then $50 million between June 2019 and June 2020.She is one of the world's most well-known and wealthy celebrities. Kim Kardashian has an estimated net worth of $1.4 billion. Kim makes between $50 and $80 million per year from her various businesses and expanding empire.
Unknown said…
Because modern-day activities are increasingly difficult and require far more complex functionality for optimal organising, to-best to do list app are important. Not to mention, by using less paper, you'd be helping to save the environment! To-do lists are an age-old productivity tool brought into the modern age by mobile apps and software. To-do lists are frequently regarded as an essential component of office productivity. There's a good chance you've used this method to stay organised in the past, whether you used a traditional notebook and pen or a digital note-keeping app.
Unknown said…
Since we spend so much more of our time texting, we sometimes overlook one clear fact: there's no difference between how to start a text conversation with a girl and how to start a conversation with a girl texting in the first place. You've already already spoken with her if you have her phone number. You've actually even begun a face-to-face chat with her. So, unwind. You're well aware of her.
Unknown said…
pac 12 championship game could be a two-team match. Utah has been the conference leader the whole year, with no drops below 197.000 since the third week of January, but its durability wasn't enough to keep up with a surging Cal. The Utes have a fantastic team, but they have failed to maintain the level of control needed for postseason success, such as handstands and landings.
Unknown said…
With such a large pool of analytical and innovative expertise, India's digital marketing industry has exploded. India has created a digital marketing paradigm that is leading the world. Online marketing firms in India are outstanding at anything they do, whether it's SEO, PPC, or Email Marketing. Work with us to help your brand grow online and get the best out of your advertising budget with the best digital marketing company in India in 20alldigital.
Unknown said…
joe namath net worth and Career Earnings: Joe Namath has a net worth of $25 million as a former American football quarterback. Namath, also known as "Broadway Joe," was a quarterback who started his career with the New York Jets before moving on to the Los Angeles Rams. Joe Namath has a net worth of $25 million as a former American football quarterback. Namath, also known as "Broadway Joe," was a quarterback who started his career with the New York Jets before moving on to the Los Angeles Rams. Joe is a pop culture phenomenon off the field as well.
Unknown said…
Washing a car on a regular basis keeps it looking new, but that's not the only reason drivers should be aware of the importance of car wash frequency! Yes, learning how to wash a car is necessary if you want to avoid rusting, fading, or other external damage. Any of these problems might make a car less reliable or reduce its resale value, but if you understand how the process works, it's pretty simple to maintain everything in order. how to wash a car
Axel Smith said…
Nice post. Thank you to provide us this useful information. Crazy for Study is providing 100% unique and genuine solution to any academic query. We also provide best Biochemistry Textbook Solution Manuals in your budget.
WildCrack said…
NCH Mixpad masters edition crack is a multi-melody track mixing software program for audio making. Designed with all the audio studio features you need without the junk, this software lets you mix multiple audio tracks collectively fast and without difficulty.
Hitman pro crack
danicrack said…
Very good article! We will be linking to this particularly great post on our website. Keep up the good writing.

Abelssoft Crack

iCare Data Crack

Avast Premium Crack

WTFast Crack

AVG PC TuneUp Crack

Hard Disk Sentinel Crack
Unknown said…
Any user's phone would need a major update, whether it's adapted apps or video and music. We're still on Android devices, storing and saving multimedia files. As a result, the user is able to enjoy those files at their convenience. But, how can the user walk through all of those files? To walk through them, the user needs best video player for android, a decent player, an MP3 player, whether it can be music or video. best video player for android
Nice Blog !
Our team at QuickBooks Support Phone Number offer a wide range of superior service amid an outbreak of COVID 19.
softwarekick said…
Advanced RenamerIt’s a very easy on the eyes which makes it much more pleasant for me to come here and visit more often.
malik shoaib said…
Hello it’s me, I am also visiting this web page regularly, this website is actually nice and the users are truly nice and nice post for sharing
iobit malware fighter pro
unhackme pro crack
Unknown said…
Gifted editors. We have the most knowledgeable editors who will check out the done paper for errors. These specialists will not skip a very small error to make the text movie review writing service seem specialist. We assure your responsibilities will be totally free from faults.
Ninja Scissors said…
Ninja has been designing & producing innovative hairdressing scissors and shears for hairstylists worldwide.
Ninja specializes in traditional Japanese craftsmanship with technical manufacturing know-how.
Browse our professional barber scissors and shears at ninjascissors.com, and our products are within your means.
We offer the best hair scissors & the highest quality shears for the beauty and grooming industry worldwide.
Shop NOW and cherish the best hairstyle.
Quality Japanese Hair Cutting Scissors & Shears
Unknown said…
I am a digital marketer with auroraroyalwholesale.co.uk. Aurora Royal is the Best Spanish Children, Baby & Kids wholesale clothing supplier in UK. Outstanding wholesale cheapest clothes for babies made with pure organic fabric. hand smocked wholesale
vipcracks said…
Some new instruments are additionally being added for higher efficiency. I assure you’ll prefer it after use. Microsoft office 2019 license key Nevertheless, as I mentioned, the damaged model solely works on Home windows 10.
adobe photoshop cc 2018 + crack [cracksnow]
tally erp 9 with crack full version zip
hotstar hacked version
fl studio 20 crack
danicrack said…
I'm really impressed with your writing skills, as smart as the structure of your weblog.

iStripper Pro Crack

Topaz Studio Crack

Nitro Pro Crack

TapinRadio Crack

MikroTik Crack

ESET NOD32 Crack
Unknown said…
Nice Blog !
Amid the ongoing crisis, we at QuickBooks Customer Service Number never fail in impressing our clients with our best work.
1 – 200 of 662 Newer Newest

Popular posts from this blog

Draft 3 of, ^Let's write a unit test!^

post modern C tooling - draft 6