Results 1 to 8 of 8
  1. #1
    Join Date
    Aug 2004
    Posts
    3

    Question Unanswered: Which DB sould I use ?

    Hi DB experts.
    I'm a newbie to the DB side of life so please be patient.
    I have an application that manipulates large amounts of data – till now it was all done in the cache, but recently the size of the data it too big and the use of a DB to accommodate the data is needed.
    I searched the web for simple and small DB and came out with two names: MySQL and postgreSQL (here is one comparison I used - http://det-dbalice.if.pw.edu.pl/det-...b_compare.html).
    I installed the postgreSQL and been playing with it through DBManager (http://www.dbtools.com.br/EN/dbmanager.php) in the last few days.
    The questions I have:
    1. My application is a stand alone application that the users install on their PC – I want the DB to be transparent to the user in the sense that it will be installed with the main application and the user will not be asked to install any other software. What the name of this option (I'm reading both manuals and not sure exactly what I'm looking for to describe this option)? Do you know if it is possible with MySQL or postgreSQL?
    2. I read that both (MySQL and postgreSQL) have a C or C++ libraries. I know that interfacing with DB is one of the dot net strong points – How can I take advantage on that feature? My existing code is written in C++ under the dot net environment. What will be easier / simpler / more efficient for a newbie: writing a C++/C# (is there a difference what language I choose?) dll to take care on all the DB ops? just using the existing libraries that MySQL and postgreSQL have?
    3 I know Oracle manages its own cache – do these DBs use some portion of memory as a cache for them selves?
    4 Is there another DB that can suit me better? Does these two have the features that are important to me?
    What I need:
    a. The ability to manage tables larger then the OS limits (2GB).
    b. Simple installation that is transparent to the user (question 1 above).
    c. Easy interface.
    d. Speed.
    I don't need:
    • Anything fancy – I'll have a relatively small number of tables (~10) and my SQL queries will select with these tables with simple joints.

    Thank for reading so far …
    Any thoughts or tips will be appreciated.
    Thanks

  2. #2
    Join Date
    Sep 2001
    Location
    Vienna
    Posts
    400

    simple answers

    ad. 1.)
    is this commercial ? If yes and you want to pay licences use mysql
    I don't understand the installer thing
    You have to writer you r own installer if you want to install db and applikation the database has a installer for windows (if this is your end user system).
    ad 2.) I don't understand your question If your application is written in C++ use libpq and if you want to write in in c# use the npgsql driver from gborg
    which is a pure c# driver
    ad 3.) I know that postgres use prepared Statements an d some sort of cachign but maybe you want to try pgpool the you can use connection pooling
    ad 4.) maybe you try firebirdsql but from my personal view postgresql ist more stable
    I have databases in TB range with postgresql
    Installer -> ad 1
    interface -> use www.pgadmin.org
    Speed -> if you have read and write use postgresql if you have only selects use mysql


    If you have questions feel free to ask
    http://www.postgresql.org
    --Postgresql is the only kind of thing--

  3. #3
    Join Date
    Aug 2004
    Posts
    3

    more questions ...

    Thanks.
    After reading more on both manuals (mysql, postgresql) I think the name of the option I’m looking for is “embedded database” (please correct me if I’m wrong). I want the user to be unaware to the DB in the background. The installation part was the first part of the transparently of the DB : I’ll add the DB files to my installation process but I want the user to install only one file and not worry about installing / activating the DB itself .
    If I understand correctly, postgresql has no such option as opposed to mysql which has (this is a shame because in the last few days of playing with the DBs I, personally prefer postgresql).

    The other questions was about the implementation (I have no experience with DB so the questions are not so clear). What I understand now (again, please correct me if I’m wrong) is that I can communicate with both (mysql and postgresql) in C++. The dot net stuff is a bit more confusing to me – there is the ODBC protocol that both servers support (?) that makes it easier to connect to by the dot net environment (regardless of C# or C++).

    I can use some tips for a DB / SQL newbie – which way of implementing the DB into my application is simpler.

    If you have an idea of another DB that can suit me, please share with me.
    The application I have is not commercial but I have no problem buying a license.

    Thanks for your time.

  4. #4
    Join Date
    Sep 2001
    Location
    Vienna
    Posts
    400

    database

    maybe you should look at firebirdsql www.firebirdsql.org - It has also nice features like postgresql
    I think the write data in a filestructure
    so you can easily copy in files - but I don't know exactly

    Is your embedded database running on a flash-rom or a normal PC
    Windows or Linux?

    It's hard to figure out what you want
    What should be in this file? is this data ?

    The c++ interface is no problem, odbc also no problem
    IF you want C# interface there is also one
    http://www.postgresql.org
    --Postgresql is the only kind of thing--

  5. #5
    Join Date
    Aug 2004
    Posts
    3

    more details

    I have large amounts of data to process in my application. I want to insert all that data into few big tables and the application will have the capability to get the data it needs to the current calculation from the DB.

    The application is running on Windows.

    I understand that the interface is no problem.

    Thanks

  6. #6
    Join Date
    Sep 2001
    Location
    Vienna
    Posts
    400

    data

    copy one fil maybe possible in postgres but should not be done

    I don't think this will be a good idea
    Postgres has its storage dir but You must have a look at that
    maybe you make one installation and try to copy the whole stuff in it but I don't think you can only copy one file

    Mysql I think will be not suitable cause you have much data
    As I said before if this is read only you can try it with mysql but if not use postgresql or firebird. Firebird is written in c++
    http://www.postgresql.org
    --Postgresql is the only kind of thing--

  7. #7
    Join Date
    Apr 2003
    Posts
    23
    When I read your needs, I'm wodering if you won't get enough with a little SGDB like SQLite.
    PostgreSQL is a great DBMS but I think that, for a stand alone software, and with no need like stored procedures, this solution is overkill.

  8. #8
    Join Date
    Jun 2004
    Location
    Arizona, USA
    Posts
    1,848
    For that matter, in a windows environ, MSDE should work fine. Just be sure to use transient connections.
    Lou
    使大吃一惊
    "Lisa, in this house, we obey the laws of thermodynamics!" - Homer Simpson
    "I have my standards. They may be low, but I have them!" - Bette Middler
    "It's a book about a Spanish guy named Manual. You should read it." - Dilbert


Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •