Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 1 year ago.
Improve this question
There is a lot of databases, but I feel something different needed for Haskell. Like Erlang has it's own DB, Mnesia. Please recommend some good DBs for Haskell.
There are various frameworks for Haskell available, HDBC being the most popular.
HDBC is the database abstraction library, which allows you to use many popular databases, even Oracle or DB2. See Chapter 21. Using Databases in Real World Haskell.
I would advise you to choose the database depending on the type of data you want to store in it, rather than the language your system is implemented in.
Of course, this presupposes that bindings for the database exist in the language.
Since the question mentions Mnesia, I'll mention Haskell's equivalent: AcidState. It's a fast and flexible nosql database written in Haskell that has support for representation of native and user-defined Haskell types (that link shows you some quick how-tos, including implementing a hello-world blog).
There's more recent documentation on their wiki, and I've personally used it here in the implementation of a small web app.
If you're using Postgres I would recommend Opaleye. Disclaimer: I'm biased because I wrote it!
Related
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 2 years ago.
Improve this question
I am developing an app using SQL Server, but I've been asked to keep it compatible with the ANSI standard as much as possible in case we need to change to a different database in the future.
Is there a list of functions supported by pure ANSI SQL somewhere? I would have thought there would be, but I haven't been able to find one after 20 minutes on Google.
but I've been asked to keep it compatible with the ANSI standard as much as possible in case we need to change to a different database in the future.
Note that ANSI compatibility is not sufficient to guarantee portability, as SQL Server's ANSI-compatible syntax may not be implemented by some other platform.
Best practice to maximize portability is to minimize database-side stored procedures and functions, as these always are different, and (as you are doing) prefer the ANSI flavor of doing something to a proprietary one. EG use CASE not ISNULL, etc.
At the end of the day you should plan to have an abstraction layer in your application that would allow you to change databases or support multiple. If you use an Object-Relational Mapping (ORM) in your app (like Entity Framework, Hibernate, etc), that can be used to minimize and manage the application code dependency on a particular RDBMS.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 2 years ago.
Improve this question
Is there any perl modules implementing function of database and easy to use. I do not need modules used to connect to some database products. I need simple database writing by perl.
Thanks.
I would suggest using DBD::SQLite. This is a self-contained database management system with no dependency to external binaries (unlike most others DBI drivers). It has nice options such as creating in-memory databases.
SQLite is an open-source RDBMS that implements a significant subset of the SQL ANSI Standard.
DBD::SQLite is a legitimate DBI driver, so it conforms to the API of the great DBI module, which is the de-facto Perl standard interface for databases.
From the documentation:
DBD::SQLite is a Perl DBI driver for SQLite, that includes the entire thing in the distribution. So in order to get a fast transaction capable RDBMS working for your perl project you simply have to install this module, and nothing else.
If you can live without SQL and relations, give DBM::Deep a try. Easiest of all, I wouldn't use it in production environment for sure, but it is ideal for rapid prototyping.
DESCRIPTION
A unique flat-file database module, written in pure perl. True multi-level hash/array support (unlike MLDBM, which is faked), hybrid OO / tie() interface, cross-platform FTPable files, ACID transactions, and is quite fast. Can handle millions of keys and unlimited levels without significant slow-down. Written from the ground-up in pure perl -- this is NOT a wrapper around a C-based DBM. Out-of-the-box compatibility with Unix, Mac OS X and Windows.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 2 years ago.
Improve this question
I will be given a job offer by an IT company, and was asked to "look at" PL/SQL since I didn't have much experience with databases. I have an extensive background in C++ among other programming languages, so I don't think this will pose too much of a challenge. However, I don't have access to any Oracle database at home, so I was wondering if there is a "toy" database and terminal online where I can practice.
Register yourself an account at APEX ONLINE you have all of the tools for free available online, or simple download Oracle Database 10g Express Edition
I would suggest a higher priority would be to learn the Relational model of data, then SQL.
If you don't start with a solid understanding of the RM, you're more likely to tend to use procedural solutions where a set-based approach is better.
Go and get the Express version of the database server Here
As for learning PL/SQL start
here
You just download sql developer tool by using this link..do practice well.
http://www.oracle.com/technetwork/developer-tools/sql-developer/downloads/index.html?ssSourceSiteId=ocomen
There is another site where you can practice PL/SQL online:
http://www.tutorialspoint.com/oracle_terminal_online.php
Oracle have some VM images with Oracle Linux ready-to-run:
http://www.oracle.com/technetwork/server-storage/linux/downloads/vm-for-hol-1896500.html (64bits VM)
To learn PL/SQL language you just need a text editor like atom or sublime text. You can also install MySQL.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 6 years ago.
Improve this question
I'm looking for a good collection of libraries for ANSI-C, stuff for handling vectors, hash maps, binary tress, string processing, etc.
Try glib? It's used by GTK+, but it can also be used on other platforms. You can also try Apache APR, which is used by the Apache web server and some of their other C components, or NSPR, which is used by Mozilla projects in C.
gnu's glib collection. furthermore, it's portable for many platforms.
You might also find this question useful:
Container Class / Library for C
As well, this book might be interesting:
Mastering Algorithms with C
The full source code is on the CD and it has code for most of those data structures and algorithms.
check also gnulib's data structures. This library also provides many other features as well as portable layer to ANSI/non-ANSI compilers and POSIX/non-POSIX systems.
checkout http://www.invincibleideas.com/library.asp
GLUT OpenGL I can recommend for very flexible C (graphics) development
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 7 years ago.
Improve this question
Is there any open source Object Database available? I would like to have a look at the source code and see how stuffs are implemented.
http://www.zope.org/Wikis/ZODB is the first coming to mind, but here's a list of both commercial and open source object databases:
http://www.odbms.org/vendors.html
db4o is my favorite.
You probably want to take a look at Magma, a Smalltalk OODB inspired by Gemstone.
Magma is an OODB with full source in Squeak Smalltalk. See http://wiki.squeak.org/squeak/2665. Even if you want to use a different implementation language, reading the code should be helpful. There is an active mailing list, where questions are answered quickly.
Gemstone is probably the largest OODB company, with the best track-record. It used to be very expensive, but they introduced a free but not open source version for small (4GB) databases recently in their GLASS (Gemstone, Linux, Apache and Seaside) offering.
Prevayler is one of them.
CouchDB is a document database, much the same thing as an object one.