1,215 karma · joined June 16, 2015
Basically, you can mount individual bricks in /tmp and run a 'forcefully fix this split brain.'
I left this running to let things get happy overnight in a screen. The following morning every single file was gone.
I had left a tmpwatch on /tmp to remove all files in /tmp after a certain point in time. We had a backup, but it was a few days old. That was a fun weekend.
It is the worst feeling in the world, and one that I'll never make again... at least like that.
That being said, they sure do have a nice interior for that style of car!
On your points about AWS itself I'm not going to argue with as they certainly are valid, however in my specific setup (everything production is c4/r3 types, 1tb gp2 volumes as all volumes, and running network benchmarks to ensure everything is properly sized) I've actually had a pretty big performance gain over dedicated servers in a DMZ behind a hardware firewall.
With regards to the bandwidth, it seems a common issue is when you have very chatty services (Apache Kafka) deployed across multiple AZ's the bill gets real big real fast. Thus far, we're not even cracking 3-digits in bandwidth monthly. Maybe we're simply not at a scale to notice these problems yet.
I just did this migration (non-AWS -> AWS), and we saw a ~20% reduction in monthly prices with 1-year contract at AWS vs. physical hosting (admittedly we were getting terrible pricing with our physical hosts, but still). This will be reduced with the addition of t2.nano servers as we run enough t2.micro instances for little odds and ends that it will put a dent in the bill.
It sounds like you have a lot of experience with Dynamo. All the use-cases I seem to keep coming up with are more for storing global environment keys outside of the environment itself and using a large number of IAM roles to access individual keys, and as a kind of throwaway 'I need to store this somewhere, but it doesn't really fit in the main DB, and I still need it to persist for at least awhile' case.
Also to provide some article-related input, in some NoSQL style databases latency makes a very surprising difference in speed. Redis is especially affected. When network latency is introduced on even the 50ms level GET/SET operations drop to double digit (vs. 15k+/s in normal operation even on small servers)
Perhaps if you're already using puppet/chef/salt it's not completely worth it to just suddenly switch to it, but it does feel "simple" to use; in my opinion it's worth use over Puppet solely due to the fact that you can really crank up the errors and get good messages.
I've gotten all of my best (and last few) jobs through connections, fortunately for me, and maybe unfortunately for me giving advice on how to get a job.
I'm specifically in the sysadmin/dba (and a little devops-y) side of things, and less in programming.
http://www.postgresql.org/docs/9.4/static/datatype-json.html
You can also see that the very first link outside of the official documentation:
https://www.compose.io/articles/is-postgresql-your-next-json...
Explains the benefits of jsonb and how to use indexes.
If you're going to include a database, at the very least do 20 minutes of research on it. If that can't be given, then just don't include something.
That's like saying "I've just installed MongoDB and read the intro documentation page, I'm now going to benchmark it against a MySQL cluster, which I have years of experience with, and that I helped develop." (E.g.: they developed ArangoDB, so they should be experts in at least that, right?)
I only wish the O365 platform was more stable. I had endless issues when I tried to setup a paltry 50 accounts from a different managed Exchange platform. We ended up with using the Office products using the O365 license (cost of 2013/2015 products was far too high to justify individual licenses), but switching Exchange back to the previous provider.
Also, when it comes to high availability, there isn't much that can beat the ease of SQL Server's HA solutions. I personally greatly prefer PostgreSQL over everything, but there is no doubt in my mind that MSSQL is a solid platform.
http://www.wsj.com/articles/SB100014240527023038478045794799...
and a few articles like it. It seems the laws aren't well enforced though (probably for the better).
They brought me in for a total of ~20 hours of interview, and in that time I discussed work-related topics with every single C-level. I went through a standard interview with questions, and then a longer skill test that included every current engineer at the company.
For the last few hours they paired me up with a current engineer to work on some database issues they'd been having.
I've been very happily employed here now for around 7 months, and after adding this company to my resume I've had quite a lot of offers on LinkedIn. I feel nothing other than "Oh, this company has offered me an interview, that's really cool!" towards these offers.
I think it's one of the best things in the world to have that feeling, and I wish everyone who was hired in an engineer position felt the same way.
The HTTP/2 test does exactly what it's designed to do: opens a lot of connections and receives the images pretty much all at once.
This isn't to downplay HTTP/2, but it's something that should be noted for _this_ test.
I can name many people who pirate all sorts of video production, 3d, and 2d art programs.
As for myself, maybe I'm a curmudgeon, but I try to avoid paid software at all costs. I used Sublime Text briefly, but switched back to vim when I found a good combination of plugins (caveat: I do little programming).
or server-side as in... cgi/fastcgi serving to a client?
because I would say 'yes' to cgi/fastcgi, but 'no' to shell scripts/daemons.
There are a handful of really cool newish Perl frameworks, but unfortunately I think Perl 5's stigma is so far out there it will never gain any real traction. It seems that Perl 6 has a lot of the same stigma attached to it. I almost wish they would name it something other than Perl so that a fresh perspective could be used, it seems like it's going to be quite nice!
How to dump things to any file the correct way using the postgres COPY command: http://www.postgresql.org/docs/9.4/static/sql-copy.html
Stored procedures: http://www.postgresql.org/docs/9.4/static/plpgsql.html (ok, this one is a bit big... but PL/pgSQL is damn powerful)
Clustering is a topic that lives outside PostgreSQL, there are some helpful posts on the wiki though: https://wiki.postgresql.org/wiki/Replication,_Clustering,_an...
https://wiki.postgresql.org/wiki/Clustering
Failover: http://www.postgresql.org/docs/9.4/static/warm-standby-failo... ( You should really read all of this though: http://www.postgresql.org/docs/9.4/static/high-availability.... )
Recovering from a crash: This is a difficult topic. There isn't a great single page in the documentation, but essentially it just replays x-logs (from what I remember last, this may have changed), and if you lose them, there are a number of options. pg_restore from a backup, use this: http://www.postgresql.org/docs/9.2/static/runtime-config-dev.... the list is pretty long for options.
I currently use it for MySQL DB restoration and remote bug-checking by having a handful of xtrabackup instances that I can quickly attach a docker to, hand an IP to a developer, and he can then debug the problem with production data _at that exact point in time._
When they're done, I simply throw that docker away.
It's a tool that (in my mind) doesn't solve any existing problems better than a lot of tools out there. It instead should be thought of like a better hammer for the same nail. Think of it like... would you rather have a giant set of wrenches, or a single ratchet with a set of sockets? They both accomplish the same thing, but both are better for certain jobs.
You'll be rewarded with some really great discussion!
https://wiki.postgresql.org/wiki/Category:Fun_Snippets
The Mandelbrot is awesome, but the pie chart is some next level stuff. You can even make it colored.