Yes, there's a world of difference between fresh beets and the canned garbage you buy. And there is another world of difference between 5-day-old beets you get in the produce section and beets you just picked from your own garden. Fresh beet juice isn't half bad, also.
Beets are easy to grow, and since they are in the brassica family (along with broccoli, collards, kale, etc..) the leaves are quite healthy for you (yes, broccoli leaves are good eating), and good in a salad, or cooked form. I didn't find out any of this until I started growing my own garden.
I think modern developers have a very fuzzy idea of what "business logic" means. I model business logic all the time in my databases, completely without the use of stored procedures (or even custom functions for the most part). Just the fact that you use a foreign key constraint happens to be business logic, and it *absolutely* belongs in the database.
This idea that a database is just an adjunct to the application only works for startup companies or lightweight web applications. Once you have a mature company doing anything of any real complexity, you will end up with such problems as
a. databases being accessed by more than one application. b. databases that outlive application (or several applications) c. enough tragic "oops" moments from the application team that the company finally hires a real DBA and/or data architect to make sure that no matter what, the data has trustworthy characteristics and integrity on its own.
Yes, data IS more important to a company than your application. Get over it. Just like the money in the bank (and who it belongs to) is more important to the bank than its tellers. It's just a fact of life.
I get the sense that this personal annoyance is one huge reason lots of companies are migrating to Postgres. it seems every time I consult on one of these, sooner or later someone will say the name "Oracle" with a sigh and an eye roll, communicating that the sooner they no longer have to deal with that company, the better. I get the sense that some would gladly move to PostgreSQL even if it were nowhere near as good as it is.
PostgreSQL has had full multiversion concurrency (MVCC) for over a decade or so (at least since version 7). It simply doesn't have this sort of locking issue.
Yeah, that's right. Postgres is only good enough for ma and pa's corner bar and grill. I can't imagine what the last few fortune 500 corporations I have consulted for were thinking.
Folks we have a class A hurtbutt here. Sorry the Postgres guys outbid you on that last project...
Yes PostgreSQL (community/open edition) may not have [xyz checkbox item] but it handles plenty of large databases just fine. The fact is, big companies, government/military contractors included, are seriously beginning to migrate many sections of their database infrastructure to Postgres. It's all I work on these days. Agreed that a company with a 60 terabyte OLTP database in Oracle should think twice about moving to Postgres (although Yahoo managed a 200+TB one years ago). But even for large corporations, most databases are still under the handful-of-terabytes size and are perfect candidates for PostgreSQL.
And yes, EnterpriseDB offers add-ons. How is that a bait-and-switch? It's simple honest business, and even with all the bells and whistles (some very nice ones) it still ends up costing a fraction of what Oracle costs.
Yes, there are several ways of modelling hierarchies in SQL, each optimized for different usage patterns. The old foreign key adjacency list is only one of them (and my least favorite). Aside from Fact Tables, the most popular are Nested Set, Materialized Path, and Tropashko 'Nested Interval'. Materialized path usually gets poor treatment because values are conceived as strings to be parsed, rather than custom data type, but it can yield to some very fast tree traversal or searching if used right.
Mod parent up please. What is going on here? It's like Monsanto has hired an army of Slashdot modders. There was nothing ignorant or trollish about the post.
Why are so many of these responses being modded 0? I find the careless dismissal of GMO fears to be more ludicrous than the "superstition" that the pro-GMO techies are lampooning. Burden of proof surely belongs on the GMO side, seeing as GMOs are only a recent development and have been adopted on a huge scale without anything approaching real testing.
I'm a little uncomfortable with big companies owning the DNA we rely on for sustenance.
This is one of my worries too. Any glance at history should tell us not to trust a situation like this that concentrates such power to a few. These companies have incredible power.
Also, I really worry that in the end this sort of thing could quell genetic diversity in our food supply rather than increase it. It's one of the reasons why I am buying heirloom seeds and planting my own garden this year. I want to be at least a small part of what keeps our food heritage alive.
Dunno why this was moderated 0. It's fairly sound advice. At the age of 45, I lost 40 lbs this way, going back to the shape I was in my 20s, even though I did not put forth any effort to restrict or count calories, and I only exercised 15-20 minutes a day. Everyone I know who has done this has experienced good results. I will say that I think different people have different ratios of the above that are optimal for them. Some need more meats and fats, others need more vegetables and fruits.
It's a variation of the old Atkins diet, now called Paleolithic, or Primal, or "whole foods". I think it is just a question of connecting the dots: for most foods, do what involves the least amount of change from the natural state and you are likely doing what is optimal for the body. Get away from the industrialized food chain as much as possible. Why buy vegetables that might have been picked two states over, endured a train ride and a truck ride, then packaging and setting on a cold shelf for a week when you can go to a farmer's market and buy something that was picked today or yesterday? Why buy orange juice that has been sitting in a vat for 90 days, denatured of all flavor, then has flavor added back via industrial "flavor packs", when you can buy fresh oranges and juice them yourself? Or better yet, just eat the oranges. Why buy meat that has been raised in a completely unnatural state from what the animal has historically experienced? (Cows are not naturally grain eaters).
For the most part, the only type of food processing that I think does make sense is the ancient fermented food arts, which led to cheeses and various types of fermented vegetables, which have been shown to beneficially affect gut flora.
Currently using FreeBSD (in the form of PCBSD) on my home workstation. It works quite well with the latest KDE, Firefox, Thunderbird, LibreOffice, etc... Nvidia card gets perfect 3D acceleration via the FreeBSD driver, audio works great (I much prefer FreeBSD audio to Linux audio).
Also using FreeBSD on my cloud hosted webserver: one main instance of FreeBSD hosted via KVM, running several jails, so I essentially get VMs inside my VM. Performance is great, and I sleep much better at night managing a FreeBSD server than any standard Linux distro.
Not only more nutritious, but it makes them taste better. Although, for the eggs, you should say "pastured" rather than grass fed. Chickens will eat a certain amount of grass, but they are more likely to eat seeds, small leafed plants, and of course, insects. Best bet is to have the cows mow a field and leave droppings everywhere, then rotate the chickens through to rake through everything, eat the bugs and disperse the cow droppings, and then maybe some other animal like pigs or goats.
For me, there's no denying how much better I feel when eating grass-fed beef, fresh pastured eggs, and unpasteurized grass-fed dairy. Proteins and fats are the body's energy powerhouse. Add to that mix some fresh greens (and reds and oranges) from my garden, some herbs, and some fresh local bee honey, and I'd be happy to never set foot in a supermarket again.
Add to that list of links http://www.polyfacefarms.com/ about a farm that has been using polyculture, pasture rotation and natural symbiotic methods for decades, since before all the current organic hoopla. Owner Joel Salatin achieves almost an order of magnitude more return per acre than than monoculture farms in the vicinity, and has much better soil conditions. There are lots of Youtube video interviews with Salatin, BTW, if interested.
The biggest mistake made by farmers in the Western world is to isolate conditions and *think of them* only in isolation. If you decide you only want to be a corn farmer, or a hog farmer, you end up missing some incredible advantages that could be had by farming both at the same time, using one to feed or fertilize the other. Then, if you add a few other judicious crops and/or livestock to the mix, you have even more opportunity for capitalizing on the interactions. Of course, this does take more planning and forethought, but isn't that why we humans have the big brains?
chickens are environmental disasters, and goats are environmental catastrophies. Large animals are not bad for the environment, but require large farmlands and labor
You, sir, are full of shit. Chickens are not bad for the environment in any way if you range them. Goats are not bad for the environment if you feed them on native grasses or on complementary crops like clover planted in an orchard. You have no idea what you are talking about, and are telling lies which do direct harm to our ecosystem by promoting harmful practices. If you're using large farmlands to support large animals then they are bad for the environment. Only if they are ranged on native grasses which are planted in places where grasses belong are they not so. Stop telling lies, liar.
Not only that, but the chickens and goats are full of shit, which is a good thing. Since moving to a place in the country where I have a 1-acre field and a small barn, I started raising a few chickens and goats. I find that each year, I get slightly better soil from the field, some of which I scrape and use for my garden, and thus each year I get a little more produce which I can feed back to the animals. Trying to work toward a self-supporting system where I don't need to bring in any outside feed... 50% of the way there already. Such an environmental disaster... I should be ashamed of myself.
Eating less meat is good for the environment! Eating organic, grassfed is bad for it. Eating local is generally, though not always, also bad for it, but more subtly.
I would challenge you to read up on Joel Salatin's methods (http://www.polyfacefarms.com/). He has run a successful farm with pastured cows, pigs, and chicken for generations. They bring no feed, seeds or fertilizer onto their land. Just using the natural intertwined capabilities of the various animals with rotational grazing, they have actually made their land much more fertile than any surrounding monoculture farms. Tell me exactly how this taxes the ecology. The fact is, local and grass-fed can be done. It just requires a longer view toward farming, and of course a willingness to fight the bureaucratic morass that is our current food system.
Kludgy? You must be talking about MySQL's "solution". The one that is not really truly transaction-safe, nor dependable. I can't tell you how many times I've logged into a MySQL server in the morning only to find replication broken.
Native replication has been available for almost two years now. The fact that it uses the write-ahead log in conjunction with streaming is exactly the kind of solution you need if you want dependable transaction-safe replication. I suggest that PostgreSQL took longer to achieve built-in replication precisely because they chose not to kludge it.
Materialized views? You mean you can't figure out how to use triggers and rules? it's all there for you. Triggers or rules give you the ability to specify exactly how the materialization works, including such things as spreading data over multiple tablespaces and partitions for performance.
Core business-friendly features like foreign table wrappers, nested transactions, windowing queries, table partitioning? Check to all those. The only major ones I can think of are multi-master replication and OLAP, for which you do have to go 3rd party. IMHO multi-master replication is one of those things that is very hard to get right no matter which DBMS you use (MySQL's MMR is a cruel joke). Generally it should be avoided unless absolutely necessary. Much better to have robust, well-understood master/slave failover with beefy machines (cloud serving can actually help in that regard) than complex and fragile multi-master with many smaller distributed machines.
Yes, there are all sorts of interesting strategies you can employ once you separate the physical storage from the logical presentation... can't be said enough.
Unfortunately, I haven't found a really good guide of the type you are looking for. I can give you my experiences, going from MySQL to PostgreSQL, back to MySQL to support it at a large company, and then back to PostgreSQL. Generally, these days there is really *nothing* that I can find about MySQL that can't be done better in PostgreSQL. I mean it. At least for awhile MySQL could boast of native replication, but Postgres biw has that and it is arguably much more robust than MySQL's solution (had the misfortune to support MySQL replication for 2 years). Ditto with full-text indexing, and just about any other MySQL feature.
Main differences:
1. PostgreSQL is much more "correct" in how it handles data and has very little (essentially no) unpredictable or showstoppingly odd behavior of the sort you find in MySQL all the time. Your main problem in migrating an app to PostgreSQL will be all those corner cases that MySQL just "accepts" when it really shouldn't, such as entering '0000-00-00' into a date field, or allowing every month to have days 0-31. In other words, PostgreSQL forces you to be a lot more careful with your data. Annoying, perhaps, if you are developing a non-mission-critical system like a web CMS or some such, but absolutely a lifesaver if you deal with data where large numbers of dollars and cents (or lives) depend on correct handling.
MySQL has provided for a fair amount of cleanup for those who enable ANSI standard behavior, but it is still nowhere close to PostgreSQL's level of data integrity enforcement.
2. MySQL has different table types, each of which support different features. For example, you cannot have full-text indexing in InnoDB (transactional) tables. PostgreSQL has complete internal consistency in this regard.
3. MySQL has an almost entirely useless error log. PostgreSQL's can be ratcheted up to an excruciating level of detail, depending on what you want to troubleshoot. Ditto with error messages themselves.
4. MANY MANY more choices in datatypes and functions to manipulate them. Definitely a higher learning curve, but worth it for expressive capability.
5. Don't get me started on performance. Yes, if you have a few flat tables, MySQL will be faster. Once you start doing anything complicated, you are in for a world of pain. Did you know that MySQL re-compiles every stored procedure in a database on every new connection? PHP websites with per-page-load connections can really suffer.
6. Don't get the idea that PostgreSQL is more complex to work with. If you want simple, you can stick with the simple parts, but if you want to delve into complex database designs and methodologies, PostgreSQL pretty much opens up the world to you.
Generally there is very little in the sense of logical data manipulation capabilities in which Oracle exceeds PostgreSQL (usually the opposite, actually). The main advantage Oracle has is in the extreme high end of scalability and replication, and that benefit is offset by massive complexity in setup and configuration. Even there, PostgreSQL is closing fast these days, with built-in streaming replication, table partitioning, and all sorts of high-end goodies.
I do all sorts of PostgreSQL consulting, and you would be surprised at the number of large companies and government organizations considering migration from Oracle to PostgreSQL.
And if you *really* need PostgreSQL to go into high gear, just pay for the commercial Postgres Plus Advanced Server from EnterpriseDB and you will get a few heavy-duty add-ons, including an Oracle compatiblity layer.
Also, IMHO one of the really cool things about PostgreSQL is the number of very geeky tools it puts at your disposal, such as a rich library of datatypes and additional features, along with the ability to create your own user-defined datatypes.
I counter that there is monoculture as much for cultural and political reasons as for profit and efficiency. The fact is Joel Salatin's farm (www.polyfacefarms.com) gets at least 4x the yield per acre as his monoculture neighbors, and many of them who ignored his methods for decades have since said they really wish they had done things his way.
No, the real reasons are pretty much the usual ones, including copious amounts of FUD:
a) Most people are simpletons, and want to be told what to do by government and large industry. Yes, farmers are people too. b) Government regulations and resulting consolidation of large industries have made it almost impossible for smaller farmers to stay in business, and the larger companies don't care about efficiency or biodiversity so much as metronomic regularity and predictability of production. c) The USA has never been a "quality over quantity" kind of county, and since the 1950s, that concept only worsened, up until the past couple decades when--interestingly--far leftists and far right/libertarians found common ground in the Green movement, or whole foods or whatever you call it. Google for "raw milk raids" for some interesting reading. d) For all our talk about being a "high tech" society, large parts of our societal workings are based on some horrible scientific misunderstandings that have just become part of the bedrock of our thinking. Like the idea that we will all be healthier if we just "get rid of all germs", and other ridiculously simplistic nonsense.
For more background on this, read Joel Salatin's book "Everything I want to do is Illegal."
With the appropriate farming techniques, which have pretty much been forgotten in the age of high-volume industrial farming, carbon sequestration can be greatly increased.
It frustrates me beyond measure how our society tends to want to solve things with big, sweeping high-cost measures, and then when that becomes a problem, add yet another layer of over-engineering on top of that. Modern farming is one of the biggest problems in the carbon debacle. Cows are kept on bare concrete and fed a steady stream of grain, and the waste is just sloughed off to be turned to muck and eventually dried. Meanwhile, farms that grow produce tend to focus on only one crop (corn, wheat, whatever), thus progressively depleting the soil of resources for that crop, necessitating the high-volume production of fertilizer. Simple measures that can both increase the yield of farmland and create much healthier food, also happen to increase and thrive on carbon sequestration. If this were done on a major scale, I suspect our carbon problems would start to reverse.
But I know... promoting wholistic measures like this make one seem like an old hippy. Honestly, it's too bad. There are so many ways to save effort and improve things, but instead we focus on the dramatic high-effort, high-risk solutions.
I'm 46 years old. I've seen all sides. I have relatives in the medical profession. I still stand by what I say. You have NO idea how frustrated most doctors are with the insurance industry. They might wait 9 months to get paid for a $120 procedure that requires 12 different forms to be filled out exactly the right way. Of course they will be willing to give me the same for $60 cash now and no fuss. It's just smart business.
Oops, I guess I left out the part about catastrophic. Yes, I believe in having catastrophic insurance, of course. High deductible and all that.
But in general, our insurance system is one of the biggest scams in the world, right up there with Wall St. and the U.S. mortgage/lending system. Each of these has managed to foist itself upon the country as a necessity of life. People just accept unquestioningly that this is the way it has to work, and the vampires rake in the cash at incredible profits.
Thanks--gonna try this.
Yes, there's a world of difference between fresh beets and the canned garbage you buy. And there is another world of difference between 5-day-old beets you get in the produce section and beets you just picked from your own garden. Fresh beet juice isn't half bad, also.
Beets are easy to grow, and since they are in the brassica family (along with broccoli, collards, kale, etc..) the leaves are quite healthy for you (yes, broccoli leaves are good eating), and good in a salad, or cooked form. I didn't find out any of this until I started growing my own garden.
I think modern developers have a very fuzzy idea of what "business logic" means. I model business logic all the time in my databases, completely without the use of stored procedures (or even custom functions for the most part). Just the fact that you use a foreign key constraint happens to be business logic, and it *absolutely* belongs in the database.
This idea that a database is just an adjunct to the application only works for startup companies or lightweight web applications. Once you have a mature company doing anything of any real complexity, you will end up with such problems as
a. databases being accessed by more than one application.
b. databases that outlive application (or several applications)
c. enough tragic "oops" moments from the application team that the company finally hires a real DBA and/or data architect to make sure that no matter what, the data has trustworthy characteristics and integrity on its own.
Yes, data IS more important to a company than your application. Get over it. Just like the money in the bank (and who it belongs to) is more important to the bank than its tellers. It's just a fact of life.
At least Ixquick is not a U.S. company: https://ixquick.com/eng/prism-program-revealed.html
While their searches aren't as fast as Google's, I have found them to be pretty good quality-wise.
Heh... put some passion into it, why don't you?
I get the sense that this personal annoyance is one huge reason lots of companies are migrating to Postgres. it seems every time I consult on one of these, sooner or later someone will say the name "Oracle" with a sigh and an eye roll, communicating that the sooner they no longer have to deal with that company, the better. I get the sense that some would gladly move to PostgreSQL even if it were nowhere near as good as it is.
PostgreSQL has had full multiversion concurrency (MVCC) for over a decade or so (at least since version 7). It simply doesn't have this sort of locking issue.
Yeah, that's right. Postgres is only good enough for ma and pa's corner bar and grill. I can't imagine what the last few fortune 500 corporations I have consulted for were thinking.
Folks we have a class A hurtbutt here. Sorry the Postgres guys outbid you on that last project...
Yes PostgreSQL (community/open edition) may not have [xyz checkbox item] but it handles plenty of large databases just fine. The fact is, big companies, government/military contractors included, are seriously beginning to migrate many sections of their database infrastructure to Postgres. It's all I work on these days. Agreed that a company with a 60 terabyte OLTP database in Oracle should think twice about moving to Postgres (although Yahoo managed a 200+TB one years ago). But even for large corporations, most databases are still under the handful-of-terabytes size and are perfect candidates for PostgreSQL.
And yes, EnterpriseDB offers add-ons. How is that a bait-and-switch? It's simple honest business, and even with all the bells and whistles (some very nice ones) it still ends up costing a fraction of what Oracle costs.
Yes, there are several ways of modelling hierarchies in SQL, each optimized for different usage patterns. The old foreign key adjacency list is only one of them (and my least favorite). Aside from Fact Tables, the most popular are Nested Set, Materialized Path, and Tropashko 'Nested Interval'. Materialized path usually gets poor treatment because values are conceived as strings to be parsed, rather than custom data type, but it can yield to some very fast tree traversal or searching if used right.
Mod parent up please. What is going on here? It's like Monsanto has hired an army of Slashdot modders. There was nothing ignorant or trollish about the post.
Why are so many of these responses being modded 0? I find the careless dismissal of GMO fears to be more ludicrous than the "superstition" that the pro-GMO techies are lampooning. Burden of proof surely belongs on the GMO side, seeing as GMOs are only a recent development and have been adopted on a huge scale without anything approaching real testing.
I'm a little uncomfortable with big companies owning the DNA we rely on for sustenance.
This is one of my worries too. Any glance at history should tell us not to trust a situation like this that concentrates such power to a few. These companies have incredible power.
Also, I really worry that in the end this sort of thing could quell genetic diversity in our food supply rather than increase it. It's one of the reasons why I am buying heirloom seeds and planting my own garden this year. I want to be at least a small part of what keeps our food heritage alive.
Dunno why this was moderated 0. It's fairly sound advice. At the age of 45, I lost 40 lbs this way, going back to the shape I was in my 20s, even though I did not put forth any effort to restrict or count calories, and I only exercised 15-20 minutes a day. Everyone I know who has done this has experienced good results. I will say that I think different people have different ratios of the above that are optimal for them. Some need more meats and fats, others need more vegetables and fruits.
It's a variation of the old Atkins diet, now called Paleolithic, or Primal, or "whole foods". I think it is just a question of connecting the dots: for most foods, do what involves the least amount of change from the natural state and you are likely doing what is optimal for the body. Get away from the industrialized food chain as much as possible. Why buy vegetables that might have been picked two states over, endured a train ride and a truck ride, then packaging and setting on a cold shelf for a week when you can go to a farmer's market and buy something that was picked today or yesterday? Why buy orange juice that has been sitting in a vat for 90 days, denatured of all flavor, then has flavor added back via industrial "flavor packs", when you can buy fresh oranges and juice them yourself? Or better yet, just eat the oranges. Why buy meat that has been raised in a completely unnatural state from what the animal has historically experienced? (Cows are not naturally grain eaters).
For the most part, the only type of food processing that I think does make sense is the ancient fermented food arts, which led to cheeses and various types of fermented vegetables, which have been shown to beneficially affect gut flora.
Currently using FreeBSD (in the form of PCBSD) on my home workstation. It works quite well with the latest KDE, Firefox, Thunderbird, LibreOffice, etc... Nvidia card gets perfect 3D acceleration via the FreeBSD driver, audio works great (I much prefer FreeBSD audio to Linux audio).
Also using FreeBSD on my cloud hosted webserver: one main instance of FreeBSD hosted via KVM, running several jails, so I essentially get VMs inside my VM. Performance is great, and I sleep much better at night managing a FreeBSD server than any standard Linux distro.
Not only more nutritious, but it makes them taste better. Although, for the eggs, you should say "pastured" rather than grass fed. Chickens will eat a certain amount of grass, but they are more likely to eat seeds, small leafed plants, and of course, insects. Best bet is to have the cows mow a field and leave droppings everywhere, then rotate the chickens through to rake through everything, eat the bugs and disperse the cow droppings, and then maybe some other animal like pigs or goats.
For me, there's no denying how much better I feel when eating grass-fed beef, fresh pastured eggs, and unpasteurized grass-fed dairy. Proteins and fats are the body's energy powerhouse. Add to that mix some fresh greens (and reds and oranges) from my garden, some herbs, and some fresh local bee honey, and I'd be happy to never set foot in a supermarket again.
Add to that list of links http://www.polyfacefarms.com/ about a farm that has been using polyculture, pasture rotation and natural symbiotic methods for decades, since before all the current organic hoopla. Owner Joel Salatin achieves almost an order of magnitude more return per acre than than monoculture farms in the vicinity, and has much better soil conditions. There are lots of Youtube video interviews with Salatin, BTW, if interested.
The biggest mistake made by farmers in the Western world is to isolate conditions and *think of them* only in isolation. If you decide you only want to be a corn farmer, or a hog farmer, you end up missing some incredible advantages that could be had by farming both at the same time, using one to feed or fertilize the other. Then, if you add a few other judicious crops and/or livestock to the mix, you have even more opportunity for capitalizing on the interactions. Of course, this does take more planning and forethought, but isn't that why we humans have the big brains?
chickens are environmental disasters, and goats are environmental catastrophies. Large animals are not bad for the environment, but require large farmlands and labor
You, sir, are full of shit. Chickens are not bad for the environment in any way if you range them. Goats are not bad for the environment if you feed them on native grasses or on complementary crops like clover planted in an orchard. You have no idea what you are talking about, and are telling lies which do direct harm to our ecosystem by promoting harmful practices. If you're using large farmlands to support large animals then they are bad for the environment. Only if they are ranged on native grasses which are planted in places where grasses belong are they not so. Stop telling lies, liar.
Not only that, but the chickens and goats are full of shit, which is a good thing. Since moving to a place in the country where I have a 1-acre field and a small barn, I started raising a few chickens and goats. I find that each year, I get slightly better soil from the field, some of which I scrape and use for my garden, and thus each year I get a little more produce which I can feed back to the animals. Trying to work toward a self-supporting system where I don't need to bring in any outside feed... 50% of the way there already. Such an environmental disaster... I should be ashamed of myself.
Eating less meat is good for the environment! Eating organic, grassfed is bad for it. Eating local is generally, though not always, also bad for it, but more subtly.
I would challenge you to read up on Joel Salatin's methods (http://www.polyfacefarms.com/). He has run a successful farm with pastured cows, pigs, and chicken for generations. They bring no feed, seeds or fertilizer onto their land. Just using the natural intertwined capabilities of the various animals with rotational grazing, they have actually made their land much more fertile than any surrounding monoculture farms. Tell me exactly how this taxes the ecology. The fact is, local and grass-fed can be done. It just requires a longer view toward farming, and of course a willingness to fight the bureaucratic morass that is our current food system.
Kludgy? You must be talking about MySQL's "solution". The one that is not really truly transaction-safe, nor dependable. I can't tell you how many times I've logged into a MySQL server in the morning only to find replication broken.
Native replication has been available for almost two years now. The fact that it uses the write-ahead log in conjunction with streaming is exactly the kind of solution you need if you want dependable transaction-safe replication. I suggest that PostgreSQL took longer to achieve built-in replication precisely because they chose not to kludge it.
Materialized views? You mean you can't figure out how to use triggers and rules? it's all there for you. Triggers or rules give you the ability to specify exactly how the materialization works, including such things as spreading data over multiple tablespaces and partitions for performance.
Core business-friendly features like foreign table wrappers, nested transactions, windowing queries, table partitioning? Check to all those. The only major ones I can think of are multi-master replication and OLAP, for which you do have to go 3rd party. IMHO multi-master replication is one of those things that is very hard to get right no matter which DBMS you use (MySQL's MMR is a cruel joke). Generally it should be avoided unless absolutely necessary. Much better to have robust, well-understood master/slave failover with beefy machines (cloud serving can actually help in that regard) than complex and fragile multi-master with many smaller distributed machines.
Yes, there are all sorts of interesting strategies you can employ once you separate the physical storage from the logical presentation... can't be said enough.
Unfortunately, I haven't found a really good guide of the type you are looking for. I can give you my experiences, going from MySQL to PostgreSQL, back to MySQL to support it at a large company, and then back to PostgreSQL. Generally, these days there is really *nothing* that I can find about MySQL that can't be done better in PostgreSQL. I mean it. At least for awhile MySQL could boast of native replication, but Postgres biw has that and it is arguably much more robust than MySQL's solution (had the misfortune to support MySQL replication for 2 years). Ditto with full-text indexing, and just about any other MySQL feature.
Main differences:
1. PostgreSQL is much more "correct" in how it handles data and has very little (essentially no) unpredictable or showstoppingly odd behavior of the sort you find in MySQL all the time. Your main problem in migrating an app to PostgreSQL will be all those corner cases that MySQL just "accepts" when it really shouldn't, such as entering '0000-00-00' into a date field, or allowing every month to have days 0-31. In other words, PostgreSQL forces you to be a lot more careful with your data. Annoying, perhaps, if you are developing a non-mission-critical system like a web CMS or some such, but absolutely a lifesaver if you deal with data where large numbers of dollars and cents (or lives) depend on correct handling.
MySQL has provided for a fair amount of cleanup for those who enable ANSI standard behavior, but it is still nowhere close to PostgreSQL's level of data integrity enforcement.
2. MySQL has different table types, each of which support different features. For example, you cannot have full-text indexing in InnoDB (transactional) tables. PostgreSQL has complete internal consistency in this regard.
3. MySQL has an almost entirely useless error log. PostgreSQL's can be ratcheted up to an excruciating level of detail, depending on what you want to troubleshoot. Ditto with error messages themselves.
4. MANY MANY more choices in datatypes and functions to manipulate them. Definitely a higher learning curve, but worth it for expressive capability.
5. Don't get me started on performance. Yes, if you have a few flat tables, MySQL will be faster. Once you start doing anything complicated, you are in for a world of pain. Did you know that MySQL re-compiles every stored procedure in a database on every new connection? PHP websites with per-page-load connections can really suffer.
6. Don't get the idea that PostgreSQL is more complex to work with. If you want simple, you can stick with the simple parts, but if you want to delve into complex database designs and methodologies, PostgreSQL pretty much opens up the world to you.
- Glad to be back in the PostgreSQL world...
Generally there is very little in the sense of logical data manipulation capabilities in which Oracle exceeds PostgreSQL (usually the opposite, actually). The main advantage Oracle has is in the extreme high end of scalability and replication, and that benefit is offset by massive complexity in setup and configuration. Even there, PostgreSQL is closing fast these days, with built-in streaming replication, table partitioning, and all sorts of high-end goodies.
I do all sorts of PostgreSQL consulting, and you would be surprised at the number of large companies and government organizations considering migration from Oracle to PostgreSQL.
And if you *really* need PostgreSQL to go into high gear, just pay for the commercial Postgres Plus Advanced Server from EnterpriseDB and you will get a few heavy-duty add-ons, including an Oracle compatiblity layer.
Also, IMHO one of the really cool things about PostgreSQL is the number of very geeky tools it puts at your disposal, such as a rich library of datatypes and additional features, along with the ability to create your own user-defined datatypes.
I counter that there is monoculture as much for cultural and political reasons as for profit and efficiency. The fact is Joel Salatin's farm (www.polyfacefarms.com) gets at least 4x the yield per acre as his monoculture neighbors, and many of them who ignored his methods for decades have since said they really wish they had done things his way.
No, the real reasons are pretty much the usual ones, including copious amounts of FUD:
a) Most people are simpletons, and want to be told what to do by government and large industry. Yes, farmers are people too.
b) Government regulations and resulting consolidation of large industries have made it almost impossible for smaller farmers to stay in business, and the larger companies don't care about efficiency or biodiversity so much as metronomic regularity and predictability of production.
c) The USA has never been a "quality over quantity" kind of county, and since the 1950s, that concept only worsened, up until the past couple decades when--interestingly--far leftists and far right/libertarians found common ground in the Green movement, or whole foods or whatever you call it. Google for "raw milk raids" for some interesting reading.
d) For all our talk about being a "high tech" society, large parts of our societal workings are based on some horrible scientific misunderstandings that have just become part of the bedrock of our thinking. Like the idea that we will all be healthier if we just "get rid of all germs", and other ridiculously simplistic nonsense.
For more background on this, read Joel Salatin's book "Everything I want to do is Illegal."
With the appropriate farming techniques, which have pretty much been forgotten in the age of high-volume industrial farming, carbon sequestration can be greatly increased.
It frustrates me beyond measure how our society tends to want to solve things with big, sweeping high-cost measures, and then when that becomes a problem, add yet another layer of over-engineering on top of that. Modern farming is one of the biggest problems in the carbon debacle. Cows are kept on bare concrete and fed a steady stream of grain, and the waste is just sloughed off to be turned to muck and eventually dried. Meanwhile, farms that grow produce tend to focus on only one crop (corn, wheat, whatever), thus progressively depleting the soil of resources for that crop, necessitating the high-volume production of fertilizer. Simple measures that can both increase the yield of farmland and create much healthier food, also happen to increase and thrive on carbon sequestration. If this were done on a major scale, I suspect our carbon problems would start to reverse.
But I know... promoting wholistic measures like this make one seem like an old hippy. Honestly, it's too bad. There are so many ways to save effort and improve things, but instead we focus on the dramatic high-effort, high-risk solutions.
I'm 46 years old. I've seen all sides. I have relatives in the medical profession. I still stand by what I say. You have NO idea how frustrated most doctors are with the insurance industry. They might wait 9 months to get paid for a $120 procedure that requires 12 different forms to be filled out exactly the right way. Of course they will be willing to give me the same for $60 cash now and no fuss. It's just smart business.
Oops, I guess I left out the part about catastrophic. Yes, I believe in having catastrophic insurance, of course. High deductible and all that.
But in general, our insurance system is one of the biggest scams in the world, right up there with Wall St. and the U.S. mortgage/lending system. Each of these has managed to foist itself upon the country as a necessity of life. People just accept unquestioningly that this is the way it has to work, and the vampires rake in the cash at incredible profits.