SparkFun Electronics Commentsurn:uuid:214d0e4e-f1b1-d287-ce26-ac5b4c9f82492024-03-28T08:09:54-06:00SparkFun Electronicsbrennen on On Breaking Things... Againbrennenurn:uuid:d672513d-1b27-08eb-d33f-a7bc82ab129a2013-11-15T22:08:21-07:00<p>Certainly sounds like a bug. I couldn't think what in the MongoDB comments would have been affected by PostgreSQL, but it occurred to me that we might be looking for a string somewhere we have integers, or vice versa. We'll have a look.</p>
l0gikG8 on On Breaking Things... Againl0gikG8urn:uuid:23e2f587-e619-60c9-c2ac-8f4def463aef2013-11-15T17:41:51-07:00<p>When looking at other users' customer profile pages, I do not see any of their new comments made after the db change-over. When I'm logged in looking at my own profile page, I only see new comments, no pre-conversion pithiness. Is this a bug or a feature?</p>
Calif on On Breaking Things... AgainCalifurn:uuid:78fd4260-a0b3-bdae-d56a-fcb04a4fc3f92013-11-15T16:38:29-07:00<p>Still remember when slashdot encountered the pain of mysql in 1999. Back then, it was memory leaks & bugs. We get older, but the internet never ages. It just represents that stage of career when a sysadmin is tasked with building a 1st website & follows the same path, over & over.</p>
brennen on On Breaking Things... Againbrennenurn:uuid:29bc36a4-a4c8-72c9-5d46-3b42202ca8842013-11-15T01:07:37-07:00<p>I'll write up a short blog post with some notes.</p>
crlanglois on On Breaking Things... Againcrlangloisurn:uuid:51736b6b-6998-5ba9-8cb5-1104ba7cfd2e2013-11-14T23:06:11-07:00<p>I had the same question, the 'why' explanation here was pretty vague. I'm more a developer than a DBA and I'm fairly familiar with MySQL and I didn't get that part of the article.</p>
kremlan on On Breaking Things... Againkremlanurn:uuid:be102acd-64dd-10c0-1421-091181e6aa3a2013-11-13T16:20:16-07:00<p>So... What were the advantages PostgreSQL provided you over MySQL/MariaDB?</p>
brennen on On Breaking Things... Againbrennenurn:uuid:5fe6c5da-9ac9-56a3-d378-384f3ea7905f2013-11-13T14:45:54-07:00<blockquote>
<p>Are you guys using foreign keys at all?</p>
<p>Basically no, not right now. We had some bad experiences years ago.</p></blockquote>
jma89 on On Breaking Things... Againjma89urn:uuid:a0ed1631-6b5a-c0b7-b258-0a888949585e2013-11-13T12:29:49-07:00<p>Make sure you are using the correct storage engine. I can speak from experience that MySQL will properly enforce foreign keys (amongst other things) if you are using the proper engine. (InnoDB for the win!)<p>Here's MySQL's page on the matter: <a href="http://dev.mysql.com/doc/refman/5.7/en/storage-engines.html" rel="nofollow">http://dev.mysql.com/doc/refman/5.7/en/storage-engines.html</a></p></p>
Customer #460040 on On Breaking Things... AgainCustomer #460040urn:uuid:ad7fca11-6255-5b6a-51aa-06d96a12ba992013-11-13T08:20:18-07:00<p>Just a comment on inventory location. I had the honor of project managing the migration to a shiny new inventory system for a 250,000 sq foot warehouse with about a million SKU's . It was a piece of cake! Other than the voices in my head and the 2d symbologies I have tattooed on my body, I am perfectly fine. Go for it! What could possibly go wrong?<p>Rob Keown
Room 201
Montague Asylum for the Insane</p></p>
BeerCannon on On Breaking Things... AgainBeerCannonurn:uuid:a1336daa-a4f3-d452-176c-63d6a3114e892013-11-13T08:01:59-07:00<p>It was a great game.. as I recall, one of the first CD-ROM based games that actually attempted to sync the animation with the spoken audio, and did a decent job of it. I tried to run it on a modern PC at home to show my kids, but couldn't get more than the title screen to show before I hit my .pif tweaking limit.</p>
SQLServerIO on On Breaking Things... AgainSQLServerIOurn:uuid:40868069-00d0-3942-8dae-7c298ac6c9c42013-11-12T22:50:12-07:00<p>Are you guys using foreign keys at all? I have found, to my dismay, that MySQL may not honor keys even if they are enforced and you can end up with inconsistent data. Usually, I have found this out during pre-migration testing but it can be a huge PITA. I have also seen FK's defined on the postgres side but not enforced leading to the same kind of condition. Did you have to deal with this and if so how did you handle it? For the record, I'm a MS SQL Server guy as well but really love Postgres quite a bit as well.</p>
tuba_man on On Breaking Things... Againtuba_manurn:uuid:39d62aaf-3ab3-d700-64a7-60d1713ebe832013-11-12T18:15:46-07:00<p>As a fellow sysadmin-type pokemon, nice work! Having trust from your higher-ups is a great feeling, and makes the job a lot easier to do. Congrats on the successful upgrade. :)</p>
Customer #11476 on On Breaking Things... AgainCustomer #11476urn:uuid:e06daec6-081f-10fb-cc9c-6061a24567042013-11-12T15:52:41-07:00<p>Two locations I've always included in any inventory tracking system I've supported are 'Limbo' and 'Hades'. Inventory is so much like a Dante-inspired story that it always felt appropriate.</p>
Jasmine2501 on On Breaking Things... AgainJasmine2501urn:uuid:92d64d13-5ef7-eded-f993-865bf9f4b53c2013-11-12T14:46:52-07:00<p>I take a rather selfish look at that subject. I go where the money is. SQL Server is a great product, for sure - I even think it blows Oracle out of the water in terms of performance these days, something which Oracle has been banking on for decades. I wouldn't be able to hang with you guys. I don't know much about open source stuff unless I use it for personal projects. I like all kinds of development, and I've worked in hardware, software, databases, integration, networks, etc - whatever pays well. I'm a team player who cares about the company welfare, but I don't push political arguments any more - I choose the political environment I want. I've quit some really cool jobs over bad politics (aerospace).<p>But, as you say, that's the place I'm in due to experience. I'm a Microsoft-stack hired gun. I'm branching out but I'm limited by my experience, as I think we all are. It would be a bad idea for my own company to go to all open-source stuff because of that. I'd have to fire myself and poach devs from you :)</p></p>
brennen on On Breaking Things... Againbrennenurn:uuid:77320b24-fc09-178d-338e-7031918d35032013-11-12T13:51:21-07:00<blockquote>
<p>LOL, tell me again how SQL Server is a dead end. I’ve been raking in cash for 20 years working with it :)</p>
<p>Yeah, I mean, I've generally heard that it's a really solid product. I'll stand by my statement, though: Closed systems die. Of course, <em>all</em> systems die, but all else being equal, I'm convinced the closed end of the spectrum has worse survival characteristics than the open end. Then again, that's a minor consideration in this context - I don't really think any of the major commercial database vendors are going away any time soon. The argument that the openness of code is a practical consideration doesn't especially hinge on it in this case.</p><p>I mean, there's no sharp line between the politics of software and the pragmatics of software. I started a career avoiding Microsoft tech when I could for political and aesthetic reasons, but these days the practical reality is that even if I was inclined to work with that stuff, my accumulated expertise is all elsewhere. I work on a team whose accumulated expertise is mostly elsewhere. We've got a bunch of things that live outside of the Microsoft ecosystem, and it's pretty dirt-level practical to avoid entangling them with an entire extra stack.</p></blockquote>
Jasmine2501 on On Breaking Things... AgainJasmine2501urn:uuid:c671bcd8-ae7c-2cbb-e78d-05e6f04e13f42013-11-12T13:23:08-07:00<p>So, we should expect to see lower prices now as a result of this windfall of efficiency, right?<p><a href="http://pics.myspew.com/index.php/geek/new-computer-system---service-slower-than-usual" rel="nofollow">Funny Photo</a></p></p>
Jasmine2501 on On Breaking Things... AgainJasmine2501urn:uuid:fa04cf79-8fba-1529-d252-16f24701ba702013-11-12T13:20:46-07:00<p>Go read EF Codd's original work on the relational algebra - you'll REALLY respect relational databases if you understand it. Most people never take advantage of their database system, thinking of it as persistent storage for spreadsheets, but if you can get past that obvious relationship you can do some really powerful stuff.</p>
Jasmine2501 on On Breaking Things... AgainJasmine2501urn:uuid:cb41bf29-c17f-aa83-4c8c-32b34b16c6e72013-11-12T13:17:12-07:00<p>LOL, tell me again how SQL Server is a dead end. I've been raking in cash for 20 years working with it :)<p>I appreciate your decision, but I don't think it's practical. It's political, which is a perfectly good reason.</p></p>
Frencil on On Breaking Things... AgainFrencilurn:uuid:b345bf07-0f4a-5c63-9044-d16474dc637f2013-11-12T12:58:33-07:00<p>It was the first thing that came to mind when describing Sparkle growing many tentacles... because it was just such a terrific game. Where else could you put a wig of spaghetti on a mummy wearing roller skates to win a beauty pageant? =)</p>
Erik-Sparkfun on On Breaking Things... AgainErik-Sparkfunurn:uuid:44f408ee-6565-0f48-1554-59e00f0637cd2013-11-12T12:52:08-07:00<p>We've actually slowly built towards our own solution for quite a few years now, while directors have looked at oodles of different off-the-shelf solutions. None of them worked the way we wanted them to, or they came with strings attached we weren't interested in dealing with, so we're doing our own thing (still). The actual inventory location tracking is the big thing we're still missing, and this database migration was one of the final hurdles we had to clear before full implementation.</p>
M-Short on On Breaking Things... AgainM-Shorturn:uuid:b402f546-8e3a-ab71-571f-6f0bd528c0cb2013-11-12T12:30:30-07:00<p>With a home built back end that does everything except for our accounting we need an IT staff we can trust. Most of the people in this building have no idea what it is you guys do other than you keep us up and running and without you we'd be in big trouble. Thanks IT for all you do and keeping us up and running.</p>
Customer #459164 on On Breaking Things... AgainCustomer #459164urn:uuid:d5f17d81-1193-cfd7-d6b6-4ac995b311972013-11-12T11:56:02-07:00<p>Congratulations on the migration. I read about the inventory tracking problem. It almost sounds like what you guys need is a small WMS package. WMS - Warehouse Management System. There are many vendors out there and a ton of packages. But basically a WMS package would do a lot for you, including helping you map out the locations in your warehouse.<p>A WMS could help:
1. Track incoming receiving and purchase orders.
2. Manage receiving locations, inventory locations, and shipping docks.
3. Help put away stock to correct locations.
4. Help with picking orders from the correct inventory locations.
5. Reports to track inventory flow.
6. Cycle counting - to count locations and figure out what is there ( and identify inventory shortages ).
7. Interfaces to UPS, Fed-Ex, etc for shipping.</p><p>Etc, Etc. I think you get the point.</p><p>You could probably do your own system too, but I would recommend studying the existing WMS/Supply Chain software solutions, because just tracking inventory is the tip of the iceberg and there is a lot more capability in some of the WMS packages then you could just code on your own quickly.</p><p>Good luck! Tracking inventory is definitely something that is needed as you guys ship and receive more products.</p></p>
BeerCannon on On Breaking Things... AgainBeerCannonurn:uuid:4999e279-d84a-0623-116e-3913c3234a6d2013-11-12T11:28:47-07:00<p>..and was that a "Day of the Tentacle" graphic in the blog for this post???</p>
BeerCannon on On Breaking Things... AgainBeerCannonurn:uuid:e715f2c1-db7e-a7bc-9038-537c9e2a0f762013-11-12T11:05:25-07:00<p>Congrats on nailing down the infrastructure. I've lived through company-wide platform migrations (ISAM, B-tree, DB2, SQL) a few times in my career, so I know the pain when things go wrong and the exhilaration when they go 'as planned'.<p>I've been running MS SQL Server at the core of all of our systems -- operations apps developed in-house with Visual Studio and accounting via Great Plains Dynamics -- for over 15 years without a hiccup. Well, the accounting was initially C-tree but we converted it to SQL perhaps 12 years ago.</p><p>Get your database right, and the sky's the limit. Glad you were able to implement a DB that will expand your capabilities.</p></p>
enigma32 on On Breaking Things... Againenigma32urn:uuid:ad3ba670-8db1-d0a8-8e4a-2c0a107ba19a2013-11-12T10:48:17-07:00<p>Is there a previous post that discusses your reasons for switching to Postgres from MySQL?
edit: .... reasons for switching <em>away</em> from MySQL?</p>
brennen on On Breaking Things... Againbrennenurn:uuid:9b70cf08-42ae-889a-e1a0-f15925b6f6892013-11-12T10:37:31-07:00<blockquote>
<p>I was just wondering, besides “wanting” to go open source. Was there other reasons why open source was the choice?</p>
<p>Of course this is partially an ideological/political decision. On the other hand, it's also a pragmatic one:</p><ul>
<li>We're explicitly a company trying to make open source hardware work, and in furtherance of that goal, it helps a lot to walk the walk with regards to our software choices.</li>
<li>We don't especially want to pay for MSSQL. We <em>really</em> don't want to pay for Oracle.</li>
<li>We're generally averse to Microsoft technology, and keep it out of our core stack as much as we possibly can.</li>
<li>Closed systems die.</li>
</ul><p>We don't have any special intentions of doing development work on PostgreSQL, any more than we hack on the Linux kernel or PHP, but we still benefit from the openness of those systems. (And hey, if we <em>want</em> to contribute, it's nice to know we've got the option.)</p></blockquote>
dafoink on On Breaking Things... Againdafoinkurn:uuid:b13f49d8-7401-0b89-ebd3-1796bfbf020d2013-11-12T10:25:49-07:00<p>I was just wondering, besides "wanting" to go open source. Was there other reasons why open source was the choice? Price, changeability, etc.? Just wondering. If it is the ability to change, do you think that you would ever have to change source if you choose a solution like Oracle or MSSQL? Just wondering. as someone who has done a lot of programming in MSSQL and Oracle, I have never really seen a reason to extend the DB for even some of the most complex operations (they are pretty extendable through stored procs, functions, etc.).<p>just wondering. don't hate me because I make a living off of non-open source :-)</p></p>
brennen on On Breaking Things... Againbrennenurn:uuid:8276121f-9e07-ce94-9c5a-3fdb965063b92013-11-12T10:19:17-07:00<p>It's not at the moment, but it will be in a couple of minutes.</p>
Ted M on On Breaking Things... AgainTed Murn:uuid:cc8a0e2a-14c3-2a03-5bb5-32822aa43b8a2013-11-12T10:18:50-07:00<p>Is "New Products" working correctly? I'm seeing a lot of old products.</p>
brennen on On Breaking Things... Againbrennenurn:uuid:a1725bcb-bf21-07fd-0e4f-855756fee4d82013-11-12T10:12:00-07:00<p>Like Frencil says, PostgreSQL was a pretty obvious choice given the constraints of "needs to be SQL that can handle our existing data, the big proprietary players are right out".<p>As far as other <em>kinds</em> of database go, we've got a bunch of legacy data that a) is already in an RDBMS, and b) <em>should</em> be in an RDBMS. I've always kind of hated SQL - it's not the way I naturally think about a lot of problems - but the more time I spend on this stuff, the more I <em>respect</em> SQL. It represents a whole lot of problems already solved by a whole lot of people much, much smarter than I am.</p><p>Aside from Mongo, there're a ton of other data stores out there that we might use sooner or later, but I think the bulk of our core business will remain in a SQL db for the imaginable future.</p></p>
ben___ on On Breaking Things... Againben___urn:uuid:710c55f7-8524-caed-290b-b5bcc8ba89fe2013-11-12T10:04:42-07:00<p><a href="https://github.com/lanyrd/mysql-postgresql-converter" rel="nofollow">db_converter</a> did an excellent job. We did hack it quite a bit, mostly for type conversion.</p>
EricM on On Breaking Things... AgainEricMurn:uuid:1c04f733-4fe9-0351-43c0-211d8bcb054f2013-11-12T09:27:05-07:00<p>Congrats!<p>I've actually done a large MySQL->PGSQL conversion in the past. That was... fun. And actually need to do it again (with a different site of course) soon.</p><p>Did db_converter work pretty well as it stood for you, or did you guys have to hack it any?</p></p>
Frencil on On Breaking Things... AgainFrencilurn:uuid:b231e2e1-3d55-56ca-4654-413119c68a082013-11-12T09:19:12-07:00<p>There are always other databases in play. These comments, for instance, are stored in <a href="http://www.mongodb.org/" rel="nofollow">MongoDB</a> along with some other less-relational data. As far as relational data stores go, however, we knew we wanted an open source database that employed ANSI-compliant SQL and would scale well (immediately eliminating big obvious options like Oracle or MSSQL). PostgreSQL was the obvious choice and we've actually been wanting to switch to it for a number of years. In the run-up to actually <em>doing</em> the switch, as we dug into Postgres's intricacies out of necessity, we kept discovering features that reinforced our confidence that it was the right choice, curtailing the need to audit a lot of other options to any great depth.</p>
sgrace on On Breaking Things... Againsgraceurn:uuid:a2016783-095e-c94e-4c47-bce8a5aa79662013-11-12T09:12:09-07:00<p>Congrats guys on a successful migration (hopefully. <em>crosses fingers</em>). You all deserve a half a day of watching silly cat videos and drinking beer to unravel the stress spring you all felt for the past several months.<p>I know a bit about the reason why to move to PostgreSQL from MySQL, but were other database types/architectures you guys explored before making the move?</p></p>