Slashdot Mirror


Sun Announces Support for PostgreSQL

jadavis writes "Sun announces 24x7 support for PostgreSQL on Solaris 10. From the article: 'Today Sun announced that it will be integrating the Postgres open source data base into the Solaris 10 OS and providing world-wide 24x7 support for customers who wish to develop and deploy open source database solutions into their enterprise environments. Sun is working with the PostgresSQL community to take advantage of the advanced technologies in the Solaris 10 OS, such as Predictive Self-Healing, Solaris Containers and Solaris Dynamic Tracing (DTrace).'"

62 of 283 comments (clear)

  1. Progressive... by Anonymous Coward · · Score: 5, Funny

    First Apache, now Postgres?... What's next, will solaris understand cursor keys? Ship with BASH? What's the world comming to?

    1. Re:Progressive... by pedestrian+crossing · · Score: 4, Insightful

      What's next, will solaris understand cursor keys? Ship with BASH? What's the world comming to?

      Solaris has shipped with bash for quite a while now...

      --
      A house divided against itself cannot stand.
    2. Re:Progressive... by $RANDOMLUSER · · Score: 5, Interesting

      Actually, their premium 24x7 support is $360 per socket (not core). That's pretty goddam great for a big-boy operating system AND (now) database support.

      --
      No folly is more costly than the folly of intolerant idealism. - Winston Churchill
    3. Re:Progressive... by $RANDOMLUSER · · Score: 2, Informative

      Damn, blew the link - should've (should have, not should of) previewed.

      --
      No folly is more costly than the folly of intolerant idealism. - Winston Churchill
    4. Re:Progressive... by mabinogi · · Score: 3, Insightful

      hmm...they must've (must have - that bothers me too ;) ) changed their pricing. Part of the reason we switched to Dell years ago, was that for the price of the support on our Sun machine, we could buy a whole new Dell machine every year....

      Besides - With Sun we were paying all that money and never had to make use of it - with Dell, you regularly get to feel like you're getting something for your support money ;)

      --
      Advanced users are users too!
    5. Re:Progressive... by Anonymous Coward · · Score: 2, Interesting

      I think it's shipped with bash since Solaris 7. It's definitely been there since Solaris 8 (/bin/bash).

      If only Sun's PHBs had listened to the engineers, PostgreSQL could have been shipping with Solaris at least two years ago.

      Sun's PHBs move in mysterious ways.

    6. Re:Progressive... by WindBourne · · Score: 4, Insightful
      Sun's PHBs move in mysterious ways.

      Actually, they don't. What is going on, is a inside fight.

      There is a group there that fears MS (rightly so). They think that dealing with MS is dealing with the devil. They really want to crush them at all costs. This group pushes Sun towards the OSS path. The group is also responsible for the approach with OpenOffice as well as Java. Problem is, that MS won the desktop sometime ago, and is entrenched. Taking it back is a very difficult thing to do. As to server space, They do not see MS is taking from them (probably right). That group is helping linux.

      The other group sees Linux taking from them (rightly so). Linux has been eating up server space. They are taking away from Solaris. This group did open solaris as a way of winning very lucrative support contracts and hopefully to sell hardware. One of the keys here is to try and make Solaris more like Linux. So they are trying to adopt a number of OSS and claim that they deserve the OSS worlds support. What is interesting is that they are starting to support BSD (I am not sure if they are looking to take it over or as support against Linux; more like a long-term trojan horse).

      So what does it mean? That Sun is like any other large firm. There are multiple fractions playing games in house and McNeally lets it go.

      --
      I prefer the "u" in honour as it seems to be missing these days.
    7. Re:Progressive... by donuthole · · Score: 2, Informative

      I'm sorry, I don't often reply on Slashdot, but I have to reply this because it's so pointedly wrong. Sun didn't open source solaris to win support contracts and sell hardware. They open sourced it to generate a community around it and to increase developer and academic interest. The engineers working on Solaris have been wanting to open source Solaris for ages to try and increase adoption. I'm on the OpenSolaris engineering team, so I'm pretty certain I know what's going on around me here.

    8. Re:Progressive... by WindBourne · · Score: 2, Interesting

      Yes, no doubt you want it open. You are an engineer. Lets be honest. You are sitting there watching what Linux and StarOffice/OpenOffice is doing and loving what you see. While I am not part of Sun, I have dealt with Sun and have a few friends there (if you are really on the team, say howdy to semery/weasel).

      But, this thread was describing Sun's PHBs. Your PHB's finally agreed to open this not because they found relgion, but because they want sales. To say otherwise would be disingenuous.

      BTW, That is no different than the other companies that have done this before you; SGI, IBM, Dec, HP to name but a few.

      --
      I prefer the "u" in honour as it seems to be missing these days.
    9. Re:Progressive... by ahdeoz · · Score: 2, Interesting

      No, Sun's PHBs had a very close relationship with Oracle. Either Ellison gave this the go ahead (he doesn't fear PostgreSQL) or Sun is firing a shot across Oracles bow.

    10. Re:Progressive... by fbg111 · · Score: 2, Interesting

      As a developer considering starting a web company, I love what Sun has done with Open Solaris. Previously I was considering Linux on AMD64 servers, now Open Solaris on one of the new Opteron Sun Fire's is my top choice. With Dell's continuing refusal to use Opteron, it seems there is an enormous opportunity for Sun to build a competing x86-64 economy of scale and supply chain. You guys have such great offerings - Solaris, Linux, and (hate to say it, but at least it gives you diversity) Windows, plus the Opteron and your SPARC line, great engineers, and good support. Lots of opportunity for Sun right now...

      --
      Flying is easy, just throw yourself at the ground and miss. -Douglas Adams
  2. More links by ChrisRijk · · Score: 5, Informative
    A kinda generic news page about the Postgres announcement:
    http://www.sun.com/software/solaris/news/111705.js p

    More about Postgres specifically:
    http://www.sun.com/software/solaris/postgres.jsp

    • Sun is working with the PostgreSQL community.
    • Postgres for Solaris will be included with every copy of Solaris 10, with full support available from Sun
    • Support for Solaris 10 and Postgres will be less expensive than support for Postgres and standard commercial Linux offerings.
    • Many of many customers enterprise database needs can now be served with free and open source databases.
    • The open source database is only one component of Sun's open source strategy that aims to provide customers with breakthrough new technologies based on open standards.
    • Sun will provide feature-specific optimizations, such as DTrace providers, service manifests and Solaris Containers capabilities, enabling Postgres for Solaris to take advantage of key Solaris 10 technologies.
    • Enhancements in Postgres for Solaris will be contributed to the PostgreSQL open source community.
  3. It can see into the future by gringer · · Score: 4, Interesting

    ...the advanced technologies in the Solaris 10 OS, such as Predictive Self-Healing...

    Yes, this is a technology that is able to predict when breaks will happen, and carry out the repairs before the problems ever surface.

    --
    Ask me about repetitive DNA
  4. Much bigger than just Postgres by axonis · · Score: 5, Interesting

    This announcement is much bigger than just Postgres Integration, it also includes Xen virtualisation and Red package application support. This will surely make Solaris more attractive than RedHat now on x86-64

    --
    bæ8Ã0sÃOE?5r©oÂÃ?âz:ÃÃAÃ?ÃOEÂ6fXÃ?]Â
  5. Re:Trolltrain leaving at platform 9... by Anonymous Coward · · Score: 2, Funny

    I think the general consensus on /. is that PostgreSQL is superior to MySQL

    Flat-files and grep is superior to MySQL.

  6. An honest question. by jez9999 · · Score: 3, Insightful

    Who uses Solaris 10?

    1. Re:An honest question. by brennz · · Score: 2

      The #opensolaris channel on irc.freenode.net has 116 people in it right now (6 AM EST). While the majority are AFK it shows there are people interested in it.

      My past beef with Sun was the shoddy x86 support (remember Solaris 8 x86 that aptly deserved the moniker slowaris?) and negative approach to Linux. Since their recent adoption of AMD X86-64, less doublespeak on Linux, and OSS-ing of Solaris though, I'm willing to take another look.

      Maybe they are starting to wake up and smell the coffee......java perhaps? :)

    2. Re:An honest question. by LizardKing · · Score: 5, Interesting

      Who uses Solaris 10?

      I assume you mean "uses it instead of Linux", what with this being Slashdot. How about people who've benchmarked it against Linux and found Solaris to scale better and more smoothly? Some of us like having beefy Sparc or Opteron SMP machines that perform predictably with Solaris, rather than the erratic behaviour we've seen with Linux on SMP Intel hardware. The 2.6.x Linux kernel has also been a serious disappointment in terms of reliability, a definite step back from 2.4.x.

    3. Re:An honest question. by Tony+Hoyle · · Score: 2, Informative

      From a commercial point of view Solaris 10 isn't in the roadmap yet - looking at our customers it's evenly divided between solaris 8 and 9 (couple of solaris 6) and zero solaris 10.

      The shift will probably start happing in the next year or so... then we'll have to buy another sparc box to support it (any excuse...)

    4. Re:An honest question. by C_Kode · · Score: 2, Informative

      I've found that Solaris 10 has so many problems that I wouldn't dream of using it even in a box at my house that I test on. It's proven to be trash and not worth the ascii text it's written in.

      Now, we are in the same boat. I made several claims that one OS sucks yet I didn't list any references to support my claim.

      That force me to discount your entire statment and all creditability.

      Solaris 10 is a very nice OS, but my Oracle 10g RAC runs quite nicely on RHEL3 x86-64. (SMP Opterons (DBs) and SMP Xeon (app servers)) We migrated away from Sun for several reasons. Solaris 10 fixed many of them, but today it's a little to late and we arn't willing to fix whats not broke. I mean why add cost and work if everything is working as it should?

      I would love to hear where your "serious disappointment in terms of reliability" stems from. I can tell you where my disappointment in Solaris 7-8-9 stem from but I see no reason to bash Solaris. I found Linux superior in almost every way for what we use it for in a weighted comparison. (YMMV) It's why we use it now and will continue to until we find enough reason to switch again. (Obviously once it's time to upgrade again)

      Anyway, if you make a claim support your claim with references otherwise you shoot your creditability in the foot.

    5. Re:An honest question. by assantisz · · Score: 2, Informative
      You are right. Most Solaris admins don't jump to the next best release when it comes out. It usually takes a long time to go from one version to the next. Many even skip one. I, for example, am running Solaris 8 on all my production boxes. We just started planning for a migration to Solaris 10 while skipping 9. The move from 2.6 to 8 took a couple of years and my guess is that the move from 8 to 10 will take that long again.

      If it wasn't for DTrace, Zones, and ZFS I would stick with Solaris 8 for even longer.

    6. Re:An honest question. by assantisz · · Score: 3, Informative
      You might want to check out the support matrix. Solaris 7 is still being supported for more than two years and no dates have been announced for Solaris 8 and up.

      I am not saying that I am going to run Solaris 8 forever. I am just saying that I am speeding up the transition to Solaris 10 only because of the features it offers. They make my life as sysadmin much easier.

    7. Re:An honest question. by whayworth · · Score: 2, Interesting

      Actually, I'm insane enough to use it on my laptop with no other OS. OpenSolaris looks to be very promising, and it's a stable, nice system. I used to use Debian and FreeBSD, and so have found pkg-get to be a great replacement for apt-get and ports. And zones rock...I can run Tomcat and host webapps (my host doesn't support JSP or servlets) in the background without any visible effect.

  7. Re:PostgreSQL is good by Anonymous Coward · · Score: 2, Funny

    no

  8. Goodbye to Oracle ? by camiel · · Score: 2, Insightful

    I believe that Oracle is most often installed on Sun Solaris servers, so I am wondering whether Oracle should be worried by this announcement from Sun to offer extensive support for PostgreSQL. It seems that open source databases (Firebird, MySQL, PostgreSQL) are becoming greater threat to commercial ones like Oracle and DB2. Anyway, I think that PostgreSQL is great fit for Sun, because they will have relatively low development costs, but will nevertheless enable them to sell more hardware.

    1. Re:Goodbye to Oracle ? by tweek · · Score: 5, Informative

      I don't think opensource databases are becoming any more of a threat than they were in the past. They really do cater to a different market. This is WHY you see SQL Express and the new Oracle license.

      Here's the deal. The company where I'm the SysAdmin has 3 databases we support - DB2 (Linux and AIX), SQL Server (financial product decision made outside of our department without our consultation) and PostgreSQL.

      DB2 runs our core database for our enterprise application. All databases were investigated at the onset of this project and DB2 came out on top. SQL Server is in house for a shitty financial package (Navision) and another legacy system. PostgreSQL is our data warehouse.

      Because of some issues surrounding our DBA team and the fact that SysAdmins often have to cameo as DBAs in a quick pinch, I've come to learn quite a bit about DB2. It has its warts and bugs but it's 100 times more robust than PostgreSQL and 1000 times more robust than MySQL (which we use for a few self-managed databases here and there - intranet stuff/nagios).

      We're currently migrating our data warehouse to a new hardware set and at the same time upgrading from 8.0.3 to 8.1 of PostgreSQL. This requires a restore of the database to migrate. This 80GB datawarehouse took the better part of a day to restore on a box that was 10 times faster than the original. Reading from different volumes on different controllers on our SAN on an x445 with 8 CPUs and 16GB of memory took 8 hours to restore!

      This box used to run DB2 on Linux (we just migrated to AIX and a new SAN) and could restore a 100GB production database in 45 minutes.

      The box wasn't being used. I/O wait was at 1% the entire time. Each of the 8 CPUs was 90% idle the entire time. Of course memory was maxed out because PostgreSQL uses the OS to cache for it but we weren't using any swap. This was using the native PostgreSQL compressed backup format.

      Oddly enough for PostgreSQL, I had less insight into what the database was doing during that time than I would have with DB2.

      In DB2 I can make memory changes on the fly - db cfg, dbm cfg and speed this process up. I can use db2mtrk to see what my memory is doing. I have things like bufferpools to allocate memory where it's really needed.

      With postgresql, I can change a text file (which I love) but have to restart postgres for a lot of them to take effect. Some db2 changes require an instance restart as well but not many anymore.

      Some of the problem lay with me and I'll admit that but some also lay with PostgreSQL.

      The whole point is that DB2 and Oracle don't normally go after the same market as MySQL and PostgreSQL. Are there companies using those databases in place of DB2 or Oracle? Sure. And I'm sure they're very happy and have a nice humming system. Our warehouse runs wonderfully on PostgreSQL and there are no complaints but more often than not, the markets simply don't intersect.

      --
      "Fighting the underpants gnomes since 1998!" "Bruce Schneier knows the state of schroedinger's cat"
    2. Re:Goodbye to Oracle ? by tcopeland · · Score: 2, Informative

      > took 8 hours to restore!

      You may want to check out the comments about the "checkpoint_segments" configuration parameter here; tweaking that appears to improve bulk loading performance considerably.

      PostgreSQL is doing a fine job for my database, although it's a much smaller installation than yours. Only 4M records, but, hey.

    3. Re:Goodbye to Oracle ? by tweek · · Score: 2, Interesting

      Actually that WAS done. The settings are really well defined for a datawarehouse environment.

      Our biggest fact table has 48M rows if I'm not mistaken. It might actually be larger than that. As a side note about 1/3rd of that table gets updated every night as part of our warehouse load. Vacuums are a killer for us.

      One thing I did read is that you could disable fsync for the restore process. We may just make that a normal documented task anyway.

      On yet another note, since we're moving to new hardware, one thing we're doing (which is why we're restoring) is moving to 8.1. Greenplum has contributed some AMAZING changes back to postgres, not the least of which is the table partitioning. Try as you might, there are times when your optimizer will do a table scan no matter what. You simply can't outthink it. And most of the times, its been right. We ran some EXPLAINs on some of our reporting queries with table scans disabled and they WERE slower doing an index scan. With the table partitioning feature, we can break our tables out into smaller chunks without much extra effort.

      Example:
      Our loan account table could be broken out into loan_account with child tables of active, inactive, bankrupt, and whatever other WHERE criteria we want. At that point, we can actually have MUCH fewer rows to process if we just want bankrupt accounts. For DB2 people, the new PostgreSQL table partitioning is alot like an MQT. At least from the way I see it.

      I'm also very happy that autovacuum made it into the mainline. DB2 has an autorunstats and autoreorg so this is something we're very interested in. The old autovacuum didn't really work as well.

      --
      "Fighting the underpants gnomes since 1998!" "Bruce Schneier knows the state of schroedinger's cat"
  9. Sun opening up? by AntiDragon · · Score: 3, Interesting

    Interesting. Could this be an indication of things to come?

    Sun haven't been particularly enthusiastic about open source in the past. Most of the time they give the impressiosn of not really knowing what to do with it - like a kid with a really great new toy only they don't know how to use it. Take OO.o for example and the older funky licensing. They seemed to suffer from some weird love-hate dichotomy.

    Sun used to be real big, well, I mean "bigger" - but really lost their way. Now we have Open Solaris, re-licensed OO.o, the funky new Niagra uber-processor (can't wait to see if^H^Hhow it works) and now what appears to be a very cool corporate offering of a OSS database - and a commitment to commit all modifications back to the project as well.

    Did someone at Sun suffer from one of those wossnames...epithany thingies?

    --
    "...So I hung back and lurked. For 18 months. Can't beat a good old-fashioned lurking."
    1. Re:Sun opening up? by Anonymous Coward · · Score: 2, Informative

      Sun haven't been particularly enthusiastic about open source in the past.

      The thing is, Sun has had to do a lot of work behind the scenes to get to where it is today on Open Source.

      For example, it's about half a decade now since the project to open-source Solaris was started. There was an incredible amount of legal, engineering and commercial work to be done to get there.

      These things don't happen on a whim.

    2. Re:Sun opening up? by Kunta+Kinte · · Score: 5, Insightful
      Interesting. Could this be an indication of things to come?

      Opening up? Things to come?

      Sun has been one of the biggest commercial open source supporters for years now. Probably only surpassed by IBM and the Linux companies ( RedHat and Suse, Linux is their core business after all ).

      Millions to buy StarOffice, millions to setup and run OO.org and OpenDocument development, marketing, promoting OpenDocument. Releasing packages like GridEngine, etc. http://www.sunsource.net/. Years of shipping and support opensource applications to companies that would never have used it otherwise.

      Back when I was a network admin, we got a whole lot of GNU software in the system by first showing superiors that Sun endorsed those packages and actually provided solaris binaries.

      Sun's main issue is PR, I suspect. When IBM does something good, it makes sure everyone knows. But that doesn't seem to be McNealy's style...

      --
      Based on upvotes, Ageism is the only "-ism" Slashdotters care about and think isn't SJW
    3. Re:Sun opening up? by jedidiah · · Score: 2, Insightful

      Um... you are trying to equate the general rabble with those of us that have actually supported production databases. That's absurd and dishonest of course.

      We're not some "hegemony". We're a very collection of factions with conflicting experiences , sensibilities and interests.

      I would love Postgres to knock the wind out of Oracle. A price cut would be very handy. I coulud spend some money on hardware rather than sending it all to Ellison.

      --
      A Pirate and a Puritan look the same on a balance sheet.
  10. Sun Blog about improving performance by IYagami · · Score: 5, Informative

    There is a blog from a Sun Engineer about databases, etc.. He talks about PostgreSQL, how to improve its performance, etc... You can find it here

    1. Re:Sun Blog about improving performance by bartash · · Score: 2, Interesting

      What he does is recompile Posgres to increase the default log block size. A commenter on his blog points out that he could have done this by changing a runtime parameter. In general, changing the block size used by the transaction log is something that should only be done by experts. I believe that Sun incents its employees to blog. In this case this posting is not necessarily a good sign of Sun's competence with Postgres.

      --
      Read Epic the first RPG novel.
    2. Re:Sun Blog about improving performance by zardo · · Score: 3, Funny

      Postgres is a really nice database, but I think it's popularity is hindered by its crappy name. I propose a new name, like NuclearSQL or something.

    3. Re:Sun Blog about improving performance by Arcane_Rhino · · Score: 2, Insightful

      changing the block size used by the transaction log is something that should only be done by experts

      Why? Doesn't this merely increase or decrease the sized of the TL before it recycles? As a n00b PostgreSQL administrator (non production as of yet) I am always on the look-out for information I may have overlooked.

      I doubled the TL block size because I wanted to obtain a lengthy historical record. This was completed in the config file so the recompilation issue does not apply but now I am curious whether or not this will have unintended consequences. I have noticed no negative consequences but have not yet benchmarked very extensively.

  11. Re:Fucking great. by hedleyroos · · Score: 2, Insightful

    You are missing the point. If articles had to represent some demographic then we'd all be reading articles about IE and Windows (to slightly paraphrase your comment). I don't use Solaris but I still enjoy the article.

    It is exciting news for Postgres users. The prospect of Sun coming aboard and actually contributing is great. And 24x7 support will get more people aboard.

  12. Don't bother by $RANDOMLUSER · · Score: 2, Funny
    There's no point in calling Red Hat today, they're going to be in meetings all day, trying to figure out "What do we do now?"

    That sound you hear, to coin a phrase, is Sun, cutting off Red Hat's air supply.

    --
    No folly is more costly than the folly of intolerant idealism. - Winston Churchill
  13. Re:Why MySQL and not PostgreSQL? by HvitRavn · · Score: 2, Interesting

    Well my question is an honest one. I have never ever seen a webhost with PostgreSQL, and the ones I know all say it's because it's hard to set it up in a multiuser environment. The support for user rights in the database is only part of the problem, you also need frontends and administration tools for both the webhost and the users. I've never seen any such solutions. And if they exist, why aren't webhosts using them?

  14. Wondering... by Capt+James+McCarthy · · Score: 2, Funny

    What Larry Ellison thinks of this announcement...

    --
    There are no loopholes. It's either legal or it's not.
  15. Re:Why MySQL and not PostgreSQL? by Skye16 · · Score: 3, Informative

    Both of my friends, who run CPanel cheap webhosting companies, offer PostgreSQL. For free. It's a little elephant icon right next to the MySQL icon in CPanel. I can assure you, they do exist. A quick check in the CPanel user manual shows a whole section devoted to PostgreSQL. As to how hard it is to set up from scratch - I couldn't say. But here's one way multiple users can use it extremely easily and quickly.

  16. What did you do in the database wars? by Flying+pig · · Score: 4, Interesting
    Microsoft (SQL Express) and Oracle have now produced free-ish low end versions of their databases to try and kill MySQL. Which gives a cheap Windows platform with a reasonable database for no incremental cost (MySQL is an incremental cost to deploy on Windows, and getting progressively more expensive.). Sun retaliates with PostgreSQL. There is clearly a big battle shaping up at the low end, and hopefully the winner will be the end user. The loser? Well, currently it looks like it might be MySQL. When we've finished digesting all the recent announcements, I suspect we may well be porting our application from MySQL to either Oracle or PostgreSQL on Solaris, for sound commercial and support reasons.

    How will MySQL respond? I'd be sad to lose our investment over the last five years, but commercially the words "Oracle" or "Sun" just radiate comfort factor to less well informed customers.

    --
    Pining for the fjords
  17. Re:Why MySQL and not PostgreSQL? by ratatask · · Score: 2, Informative

    Vs pgAdminIII ?
    Nice GUI admin tool. I like that much better than silly web applications.
    beeing multiuser is just as easy in postgresql as mysql..

    But if you for some unknown reason must have a web tool, there is phppgadmin

  18. kill -HUP? by coder111 · · Score: 3, Informative

    Um, kill -HUP forces postgres to reload config, it works for some (all?) configuration changes, and I didn't notice it being a real restart- clients don't get disconnected.

    Fix me if I'm wrong, i didn't use this feature much. But it worked for me when I needed it.

    --Coder

  19. swing by porkThreeWays · · Score: 5, Informative

    - DROP the java front ends for everything. We get gray waiting for loadtimes.

    Sometimes I think Sun really didn't think out the Java GUI experience very well before implementing it. The reason you get those blank screens during load times is how swing threads. It uses the same thread for event handling as for screen redrawing. From a programming stand point, I'm sure it makes it much simplier to use their API's for simple GUI's. However, when you've got tools written for system administration that will almost definatly take some time to process an event, it makes for a bad end user experience. Java is a great language. However, their poor implementation of the GUI API's makes the end user experience bad. And ultimately people who use java programs think the whole language sucks because of a bad user experience with the GUI.

    --
    If an officer ever threatens to taze you, say you have a pacemaker.
    1. Re:swing by Hulfs · · Score: 2, Informative

      What you're describing is not a fault of the Swing API or implementation, it's the fault of the programmer of your admin tool. Swing event threads are not supposed to run for extended periods of time. If your event handler kicks into a long running process you have to invoke another thread to handle this process because your current event thread is blocking the event pump from popping the next event from the queue (see utilities like Foxtrot or Sun's SwingWorker class). This is pretty widely documented across Sun's Swing tutorials, but it's something that is sadly almost never discussed in most other sources of Swing information (books/other tutorials).

  20. Re:Why MySQL and not PostgreSQL? by hey! · · Score: 2, Interesting

    I think your comment may need clarification.

    Clearly, Postgres works fine in multi-user installations. I am inferring that you probably mean that MySQL is easier to administer in the kind of multi-customer environments you have on boxes doing web hosting duty.

    Of course, I have no idea whether this is true or not, since that's not the business I'm in. However, I suspect the historical popularity of MySQL as a rudimentary, low footprint data store for dynamic web sites means that there is more expertise in the web developer community. What you know is always simpler to admin. It may also mean that there are more tools, and more mature tools, for administering in web hosting environments.

    I see both systems converging towards parity over time, in the core set of features that people find most useful in most every day applications. The kind of applications I do have very complex queries, and Postgres was a better choice for them because MySQL lacked support for complex queries -- up until recently. The only reason I didn't use Postgres much was that it wasn't on Windows, which my clients use. Up until recently. Postgres had spatial (GIS) data capabilities and MySQL didn't -- up until recently. The list goes on and on.

    You can look at what people need in a database platform as a kind of pyramid, with widespread requirements at the bottom, and exotic or "enterprise" requirements at the top. Both platforms had somewhat incomplete foundations up to now, with a few second tier and third tier bits poking up here and there: object relational, spatial, replication etc. I'd say that as of 2005, the foundations of both products' pyramids are complete, and appear to be solid.

    In 2006 I predict that people will start noticing this, and the products will establish a strong track record outside the kind of web and open source millieu and in the traditional bread and butter space for RDBMS vendors: IT. They won't displace SQL Server because of its integration with Microsoft's tool stack, but they'll make a dent. MySQL in particular will be integrated with many open source projects in the way SQL Server is a natural choice if you're working exclusively with Microsoft. If I were a betting man I'd lay money on MySQL and Postgres getting what peole in the software business is called "traction" by the end of next year.

    If I were to put the relationship between MySQL and Postgres in familiar terms, I think they'll end up like Linux and BSD respectively. MySQL will have much broader popular appeal, and Postgres will appeal to a more select community with somewhat different values and culture.

    --
    Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
  21. Postgres was an Object Oriented Database by brokeninside · · Score: 2, Informative

    When they made the Postgres engine SQL compliant, they changed the name to PostgreSQL.

  22. Sun seems to finally be getting it. by dghcasp · · Score: 4, Interesting
    On a somewhat related topic, I received an email recently saying that Sun's developer package is now free, instead of $3000.

    Finally. Sun hasn't shipped a C compiler with its OS since SunOS 4.1.3 (circa 1990).

    1. Re:Sun seems to finally be getting it. by nodrogluap · · Score: 4, Interesting

      Which is great, because in my experience gcc has a bad backend on Solaris. When I compile with cc instead of gcc, I often see a 30-50% reduction in process execution turnaround time, while using less CPU too!

      Anyone who compares two apps on sparc-solaris and x86-linux should really keep this in mind...

  23. It's too bad you got modded "flamebait" by IANAAC · · Score: 3, Insightful
    It IS an honest question.

    Our shop is mostly Solaris (8) and RHEL with Oracle 9i. We're currently looking at upgrading our Solaris boxes to Solaris 10.

    The problem? Oracle 9i is not supported on Solaris 10. It's supported on RHEL and earlier versions of Solaris.

    So at the moment, it's not doable for us. But from the tinkering I've done with Solaris 10, it's actually pretty cool. I've got it running on an Ultra 10 under my desk and have been evaluating ot for a couple of months now. I'll tell you it's much lighter than previous Solaris versions (well, 7 on. 2.6 was pretty zippy in comparison later versions).

  24. Re:sun will need to make BIG changes by Anonymous Coward · · Score: 5, Insightful

    - ditch the forte crap and vendor lockin scheme

    Done. Sun released Studio 11 (http://www.sun.com/software/products/studio/index .xml) on Tuesday. It's completely free to use unless you want support. They also ship lots of GNU tools included in Solaris (under /usr/sfw) in case you would rather use them.

    - ultrasparc performance is terrible. Address it.

    Done. The UltraSPARC-IV+ chip (http://www.sun.com/processors/UltraSPARC-IVplus/) is up to five times faster than UltraSPARC-III and up to twice as fast as the initial UltraSPARC-IV. And the UltraSPARC T1 chip (code-name Niagara http://www.sun.com/processors/UltraSPARC-T1/index. xml) delivers incredible throughput (in my testing, often faster than a V40z with four Opteron 850 CPUs) while consuming much less power and generating much less heat than any other chip delivering anything close to the same performance and throughput.

    - get the X11 libraries and headers fixed - completely

    Done. Solaris 10 (at least on X86) uses the Xorg implementation. The previous Xsun implementation is also available if you need it, though.

    - Get ldap working without so many support applications

    I can't say that I understand this one. Sun's Directory Server is the best performing and most scalable server available. It's very in-line with the standards so any LDAPv3-compliant application should work with it just fine. It is the preferred directory for use with most commercial LDAP-enabled applications.

    - make your platform work better with OSS software (eg: gcc)

    What else needs to be done in this area? Solaris 10 ships with a lot of OSS software, including GCC, and Sun makes a lot of additional OSS software available on the Companion CD (http://www.sun.com/software/solaris/freeware/). If that's not enough, you can use the SunFreeware (http://www.sunfreeware.com/) or Blastwave (http://www.blastwave.org/) collections to get what you need.

  25. Re:Debian Solaris by TheRaven64 · · Score: 2, Informative

    Libraries. All 'Linux' tells you is where the system calls live (which number for which call). Red Hat Enterprise Linux tells you what libraries you can expect to find installed - i.e. what you can install without requiring additional dependencies. This is why some companies only support RHEL or SuSE (or whatever), rather than 'Linux'.

    --
    I am TheRaven on Soylent News
  26. Postgres - Oracle? by Doc+Ruby · · Score: 2, Interesting

    The announcement cites Postgres as Sun's RDBMS, bundled and supported. It also cites Solaris as Oracle's preferred (64bit) OS. Is Solaris now the best environment for developing relational apps on Postgres, then moving to Oracle for release versions? Will the Sun tech, support and Oracle partnership make the port from Postgres -> Oracle easy, even "automated"?

    --

    --
    make install -not war

  27. Re:Why MySQL and not PostgreSQL? by ajs318 · · Score: 2, Informative
    Actually there is completely no point whatsoever in setting up MySQL as multiuser in a simple web hosting environment. You may as well just tell everyone to use "root" and no password.

    Yes, you think that's insecure, but the truth of the matter is that giving individual users their own MySQL username and password does not make it any less insecure. I am of the opinion that it's better not to lull people into a false sense of security: if they can see how sharp the blade is, they will be more careful when using a powerful tool.

    Fact: it's trivial for any user with an account on a box to read any other user's files, even in their cgi-bin, since they must necessarily all be visible to the Apache daemon user {www-data on Debian systems}. And there's no way to obfuscate the database password: ultimately, the script has to send it to the server in the clear, so all you have to do is make a copy of the relevant file and replace a line that looks something like
    $dbh = DBI->connect("DBI:mysql:database=stuff;host=localh ost",$db_user, $db_passwd);
    with
    print "'$db_user' '$db_passwd'\n";
    That's bad enough in itself; but if the hosting company has decided to use the same password for MySQL and Linux login {and therefore POP3, FTP and maybe even shell access if they're on Gold} -- and there is at least one hosting company out there that are doing this {I had a reseller account with them once; I shan't name them} -- then Sir Hacksalot has the power to compromise more than just your database. One doesn't need to be terrifically "l33t" to find out which hosting company a competitor is using {as hard as it may be for you geeks who all have your own servers in your back bedrooms [and no hosting customers, except your own sisters' girly photo blogs, average 3 unique visitors per month, all bots] to believe this, there a lot of businesses who use hosting companies -- and more than a few who get their hosting done through cheapskate resellers}, get another account on the same box, and cause as much trouble as one can with a MySQL-based site.

    The only way around this is for every user to run their own instance of the Apache server as themself, on a different non-privileged port; and to have a transparent proxy on port 80 that redirects requests to the appropriate port based on the host name. This way, users' files don't need to be readable to anyone save that user. Although it still would not be wise to use the same password for the two services, because a database password can still be exposed by careless use of chmod. And I wouldn't like to think how that is going to affect performance.
    --
    Je fume. Tu fumes. Nous fûmes!
  28. Re:Why MySQL and not PostgreSQL? by @madeus · · Score: 3, Insightful

    Actually there is completely no point whatsoever in setting up MySQL as multiuser in a simple web hosting environment. You may as well just tell everyone to use "root" and no password.

    Yes, you think that's insecure, but the truth of the matter is that giving individual users their own MySQL username and password does not make it any less insecure. I am of the opinion that it's better not to lull people into a false sense of security: if they can see how sharp the blade is, they will be more careful when using a powerful tool.


    That's a really bad idea IMO.

    Fact: it's trivial for any user with an account on a box to read any other user's files, even in their cgi-bin, since they must necessarily all be visible to the Apache daemon user {www-data on Debian systems}.

    That's not a fact, but it is the sign the server hasn't been configured very well.

    The only way around this is for every user to run their own instance of the Apache server as themself, on a different non-privileged port; and to have a transparent proxy on port 80 that redirects requests to the appropriate port based on the host name.

    Shared web hosting platforms should really be using some implementation of per-customer compartmentalisation at the OS level if the users are allowed SSH access, or to run CGI's. Solaris 10 supports this natively, there are at least two separate native implementations of something very similar for Linux, Windows 2003 even supports this to some degree I gather (though not to quite the same extent) and then there are tools like VMWare.

    Of course, running your MySQL server on an entirely separate hardware from your web server is also a Good Thing(TM), especially when someone manages to (most likely inadvertently) DoS your SQL server.

    However, failing that, any web server used by multiple customers to run CGI's should at the very least be configured to use something like suexec, which has been a standard feature of Apache for about 8 years or so.

    Using suexec (or gsexec, or cgwrap, or similar tool as appropriate for whatever web server your using) is precisely intended to prevent CGI's running as one user from accessing or modifying files (including other CGI's) that belong to another user.

  29. Sun and BSD by alexhmit01 · · Score: 2, Interesting

    Sun working with BSD makes sense from a historical perspective as well. The original Sun OS was build on BSD, as Bill Joy, the technical founder was a big guy in the BSD world, and left to start Sun on BSD technology. Sun migrated from BSD to AT&T Unix after several releases.

    As a result, their are probably elements of a BSD culture in Sun.

    In addition, the GPL space makes it harder for a traditional software player to compete. The GPL makes sense for PURE hardware players (of which Sun is not, and in x86 space, it is REALLY tough to be a hardware player, only a few have done it, because Intel grabs the bulk of the profits leaving profits only for the most efficient manufacturers, and Dell dominates supply-chain management), as it elements the costs of software development... Dell wins in a GPL game, as costs come down from not paying for an OS, some of the savings get passed on to customers, some comes out as profits. Other players that don't dominate in supply chain issues aren't as well off.

    In addition, the corporate GPL'd OS game is a services game. There is no real money in the OS license, so you have to sell support contracts. Now support contracts are high margin... IF YOU ARE REALLY GOOD. You have to be good enough that you don't have to do much on the support end... as each time support is used, your margins get eaten... it's an insurance model, and its a tough game to play.

    The BSDs are more "corporate friendly," as the company can work with the BSD-core group to push up changes (otherwise you have to maintain forks, which is expensive, which doesn't really get you a competitive edge. So you have a financial incentive to push fixes upstream, but build add-ons or enhancements that you keep proprietary. In PostgreSQL and Apache, this works fine, as people develop these add-ons, they either release them to the world at large, in which case they are incorporated, or they keep them to themselves, and the core team has gotten a demo of what "can be done" for free... As Linux demonstrated, redoing known technology is SUBSTANTIALLY easier than building new technology.

    Sun playing in BSD land makes a LOT of economic and cultural sense.

    Alex

  30. PostgreSQL is a NICE package... by alexhmit01 · · Score: 4, Interesting

    We moved from MySQL to PostgreSQL a few years ago, and couldn't be happier. The secret is to do it intelligently...

    First, just do a straight port, get PostgreSQL running your MySQL data.

    Buy a beefier server, because at this stage, PostgreSQL WILL be slower. For raw reading of simple databases (the old joke that MySQL isn't a real database isn't AS true anymore, but is in the ideas), MySQL is faster. PostgreSQL shines as you build more complicated system.

    Second, use explain and start optimizing your system. MySQL develop tends to do series of queries, because the MySQL protocol is nearly "free." Doing 5 queries and doing the joins in the software in MySQL tends to be fast, but is REALLY slow in PostgreSQL. So start building more complicated queries using joins server side. At this stage, PostgreSQL catches up (or nearly so) with MySQL.

    Third, learn PL/pgSQL. This lets you do a LOT of optimizations with triggers and functions. For example, if you need to look things up in 3 tables to get the Primary Keys, then query a third table, in MySQL you do 3 SELECTS, store the values in variables, then the final SELECT to get the data. In PostgreSQL that would be painfully slow (the connection costs kill you), so you do a massive join, which is okay if you have enough RAM and configure PostgreSQL to use it, but it sucks up memory. Then you build the PL/pgSQL function. This lets you do it the "old way" grabbing the data, keeping it in variables INSIDE the database, then doing the query. This is REALLY REALLY REALLY fast in PostgreSQL, keeps the RAM usage reasonable, etc. Sure you can throw 4-8 GBs at RAM cheaply, but when you start doing a bunch of really big JOINs and SORTs, you can't always get PostgreSQL to use it smartly.

    Fourth, at triggers whereever possible. If you ever run a COUNT or other aggregate, re-think. For example, in a forum (trivial case, but fun), you may want to display the number of threads in a topic. Well, running a SELECT COUNT(*) on the threads JOIN topics will BE BALLS slow on PostgreSQL... HOWEVER, you instead do a trigger that keeps a count in the TOPIC called threads. You would do this in MySQL by having a second INSERT when you do a thread, but in PostgreSQL, you let the database handle it. ON INSERT to THREADS, find the topic and thread_count := thread_count + 1; ON DELETE to THREADS, find the topic and thread_count := thread_count - 1; It's trivial when you get the hang of it, but then your system is lightning fast.

    Also, optimize your INSERTs. In areas where you currently check IF "is this already here" THEN UPDATE ELSE INSERT, you do that in stored Functions. function insert_or_update (values) that does an UPDATE and if it fails, INSERT, or otherwise does the logic server side.

    Once you learn to do real database programming, even at the rudimentary level I described, PostgreSQL SCREAMS. If you are building web sites/web applications, they SCREAM. However, if you treat PostgreSQL the way most treat MySQL, as a data dump, you'll be miserable at the performance.

    Final neat idea that we never implemented... but will one day. We were planning to use PL/php (there is a PL/perl) for a performance hack. For each major script that does a bunch of queries, even with optimizations, there is a final hack you COULD THEORETICALLY do... this is a hack, admittedly. Basically, instead of doing queries, define an associated array with all the data you want. In development, do a bunch of queries and put the data into the array, then process it. For optimization, move those queries to the server. Then you build the array in PL/php, serialize it, and return it as text. Now you call the PL/php function (SELECT get_FooPage_Info(page_identifier) that returns a text value, the serialized array. Now you have one database connection, it does ALL the work INSIDE the database process, and in PHP land, you just work off the array).

    PostgreSQL is EXTREMELY powerful for areas where most people use

  31. Re:PostgreSQL is good by Anonymous Coward · · Score: 2, Informative
    Can anyone tell me the pros and cons of postgresql vs. firebird?

    I've used both firebird and postgresql for the last 7 years or so. My only complaint with firebird was that the Java JDBC driver was so much slower than the postgresql driver (this was a couple of years ago). I've been using PostgreSQL exclusively for the past 3 years or so. It isn't as easy to admin as Firebird, but also offers more functionality. For example, PostgreSQL lets you define procedures in nearly any language (python, perl, java, c, c++, etc). PostgreSQL's PL/SQL stored procedure language is (I hear) close to Oracles. Not that Oracles stored proc language is the end-all be-all, but consistency is nice.

  32. About Time PostgreSQL Gets Serious Recognition by Austin+Milbarge · · Score: 2, Insightful

    I'm glad to see this. It seems MySQL gets way too much attention these days in the open source community. Not that it is a junky database server or anything, but I've been using Postgres for 4 years now and the system simply amazes me with every new release. It's power, ease of setup & maintenence and incredible stability (as far as I see it) is simply unmatched in the "free" database world. I would take it any day over an MSSQL Server. It's nice to see a company like Sun decide to include it in it's system and support it.

  33. Application tuning suggestions by einhverfr · · Score: 2, Informative

    The PL's (like PL/PGSQL) are not for optimizations. They are for building triggers, etc.

    Ok, there are a few areas where PostgreSQL performance sucks. Try doing an outer join between a moderately sized table (few million rows) and an empty table (zero rows). The result will be a nested loop join which will eat up your processor time for an insanely large time. The answer here is either to add a row to the empty table and vacuum analyze or rewrite your query to avoid the join against the empty table since this is meaningless anyway (this bad plan is a corner case in an optimization to prevent bad plans when tables grow rapidly between vacuum analyze routines).

    A second area is that it is possible to create overly complex systems that are impossible to properly optimize. I have run into these cases before. Views of aggregates of views of aggregates are a great example. One should generally try to keep everything as simple as possible.

    However.... Your suggestion that web server processing power is always cheaper than DB processing power is interesting but there are times when processing on the db server is cheaper than processing on the web server. For example:

    1) If you can efficiently do joins and save the round trips, do them on the db side.

    2) Data integrity is best enforced on the DB side if you have more than one app inserting or updating data in a DB. This is in addition to front-side checking and ensures that a bug in one app doesn't screw up data for another.

    3) Look into PgPool and Slony-I for load balancing solutions that should enable you to add processing power for select statements at least as easily as you add processing power for web servers. This is best done when you have an app with lots of reads and a few writes (most web apps are this way). If you need something more complex, these technologies can be used to create more complex replication and load balancing solutions including multimaster replication systems in any architecture you can imagine with whatever conflict resolution algorythms you wish to use.

    In short, it is not always true that adding processing power on the web server end is the least costly way to approach this.

    --

    LedgerSMB: Open source Accounting/ERP
    1. Re:Application tuning suggestions by einhverfr · · Score: 2, Insightful


      But the original poster was talking about having complex _PHP_ stored procedures to do stuff - see the last two paragraphs.


      Well, I think that is a stupid idea but not for reasons of performance.

      MySQL devs are always thinking of one db per app and one app per db. When you do things this way, it doesn't really matter *where* you put the code. But most db's don't evolve to be a single app db. Often you are running multiple apps against that DB after a while.

      And in these cases, it is important to cleanly separate what is app specific and what is multi-app. Multi-app functions should be placed in the DB for reasons pertaining to central management. Single-app functions should *not* reside in the DB. Multi-app extratransactional functions (i.e functions outside the db that must be performed after the transaction successfully commits) should be done with a combination architecture (special client, queue table, NOTIFY).

      As for if it can be done with Slony, sure. Slony is a master/slave async replication solution. When combined with PgPool, it is possible to route writing operations dynamically to the master. So any functions you want to set up can be used via Slony and PgPool. However, in this case, I think it would be a maintenance nightmare. Indeed if you wanted this sort of architecture, I would suggest a different approach:

      1) Set up "middleware" PostgreSQL servers running DBI-Link against a PGPool setup with Slony (for load balancing/replication). Install PL/PHP on them.

      2) Set up all your PL/PHP functions on these middleware servers. This way you can separate you DB's, your replication and load balancing, and your web front-end.

      You add a little bit of latency, but in the end you gain a whole lot of maintainability and scalability. See, in this case you could use PostgreSQL as a middleware technology....

      --

      LedgerSMB: Open source Accounting/ERP