As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
So I am working on a mini-project for the summer to keep my coding skills sharp. I will be using the Qt4 and C++ to make a classroom management system for college professors. I just came up with the idea like 10 minutes ago so I don't have much.
One question I have is what is the best way to store student/class/assignment information so that the software could still be portable and used my different schools.
My first guess would be a MySQL database. I need a gurus opinion on this one though.
Since different sites have different database preferences you might wish to use a layer such as ActiveRecord or PDO or ODBC to abstract out the specific database that your end users want to use. This would allow people to deploy onto PostgreSQL or MySQL or whatever they prefer.
A good choice for single-process server systems could be SQLite3. It's not suitable for all systems, but if your system is designed to scale to a few dozen users at most, it'll probably work fine. (The amount of work you'd need to put into a server to make SQLite3 scale into the hundreds or thousands might argue for planning for a database server environment instead.)
http://www.sqlite.org/
might be a good option. It is embeddable so you don't need a specific database instance running wherever you deploy it
also, http://www.microsoft.com/sqlserver/2005/en/us/compact.aspx is an option
Related
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I want to build (hire someone to build) a program for windows. This program has to save some data of a single web page like name of the website, product name and product price on a command (under right-click or keyboard shortcuts) in a local database. Which programming language can I chose best? The amount of (affordable) programmers and the possibility to add some extra functionalities in the future is also important.
I found for example that python, Java, Ruby and XPath are used for this job.
Thank You.
Java, python and ruby are all good choices. Xpath is not a programming language, it's a query specification that allows you to extract the data you want from xml or html. No matter which language you choose you will need to also use xpath (all 3 have xpath libraries available).
Python seems to be the most popular but the future of it's libraries
is also the most uncertain (nobody has bothered to port mechanize to
python3 yet, beautiful soup has died and then come back).
Java's biggest strength may be that it's already installed on most
windows machines, but it's also the only one of the three that is not
a scripting language and therefore development time will likely be
longer.
Ruby is a good choice with excellent scraping libs and plenty of
programmers using it.
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
Are there cases where database designers are not allowed to know the details of the data? I am looking for real-world examples to learn from — please.
I can't help but tell a story about database nightmares. One of the worst was when Amazon was first growing. Initially they only sold books, then expanded to music, and then to many other things.
For a period of about two years, Amazon would announce a new market every two or three months -- children's clothing, housewares, garden supplies, food, and so on. The database folks were tasked with developing and supporting the systems for the product lines. However, Amazon considered the new product announcements to be highly, highly secret.
In particular, the data warehouse people would be kept further from the loop. Sometimes, they would find out about a new line of business by reading news -- and then have to support it in the data warehouse.
So, they had to develop a flexible database to meet unannounced business needs.
In any business environment, there are new needs that arise. I would suggest a book such as Ralph Kimball's "Data Warehouse Toolkit" for more background on how to develop a fairly robust system.
I am currently working at a company that stores very private personal information. I am not allowed access to the production database. For our development and test environments, we replace all names, addresses, and other personal information with randomly generated information.
Yes, I've often seen databases allow for custom data to be defined by the user. The basic approach is to design a meta data system for your database. Then allow entities associations with custom fields. You wouldn't want to do this for all your data, otherwise you'll just end up with a database in a database, but for dynamically adding a number of custom fields this approach works well.
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I would like to learn Database systems implementation in Depth. Is there an open-source simple implementation of database for educational purpose that I can go through the code? Like there are a lot of OS implementation (Minix, Pintos...). I am wondering if there are similar systems for database education as well.
I read a few textbooks and they are mainly focus on theory and concepts.
Thanks a lot!
Alfred
Then find some educational material :)
When i was learning db concept, my professor ask us to code a simple dbms. One important reference is the Redbase:
http://infolab.stanford.edu/~widom/cs346/
Hope that helps.
MySQL, PostgreSQL, SQlite are all opensource. You can find their source code and related documentation.
Also check NoSQL group of databases.
What makes you think implementing a database is simple?
What parts of the database interest you? Storage management? Indexing? Query Language? Query Planning? Transactions?
Modern (even "toy") Relational systems have all of those components, which makes them rather complex from the outset. Other DBs, such dbm based databases are much simpler. Then you have things like Lucene, which is a database for documents and free form text -- conceptually simple but put a lot of effort in to scaling.
You can look at implementations of SPARQL if you're curious about query languages, as they work against RDF triple stores (which aren't super complicated).
There's also things like Prevlayer, which is an in memory database using a concept called prevalence. Probably the simplest of all of them, really when you get down to it.
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I am developing a windows phone 7 app which will need some basic database functionality. I came across the following projects on codeplex. Has anyone tried any of these projects and can help me decide to choose one, please?
http://rapidrepository.codeplex.com/
http://winphone7db.codeplex.com/
Pratik
We use SQLite since you can design the database ahead of time using standard SQL commands. It works pretty well on the phone.
I've written a quick start guide here: http://wirebear.com/blog/2010/11/12/using-sqlite-in-your-wp7-app
UPDATE:
This was a valid solution pre-Mango but it is NOT what I would recommend now and it is not what we are doing. With Mango Microsoft has given new ways to use SQL CE with LINQ to SQL and is the better way to have a database in your app. A good guide to getting started can be found here: http://www.jeffblankenburg.com/2011/11/30/31-days-of-mango-day-30-local-database/
There also are other databases available for the phone (see Local Sql database support for Windows phone 7).
What's best for you will depend on your requirements:
Do you need anything in particular? transactions? relations or objects?
What's most important? reliability, performance, etc.?
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 9 years ago.
I am doing a project in the university which requires running of multiple instances (1000s) of a program I've written (in C++), which runs for quite a while (say 2 hours). The program is very self contained - it does not require input files, and the only dependency I think is boost.
I'm currently using the university-owned cluster of computer. However, it's quite old and the jobs dispatching and monitors services are pretty bad.
So I was wondering whether I can run my jobs elsewhere, for some money. For example, I looked a bit into Google App Engine, but as it seems every job must end after 30 seconds it is not suitable for me. Maybe Amazon EC2?
Do you know of such options?
Amazon EC2 is the classic approach for this.
Google App Engine is great, but probably to restrictive for your use case.
EC2 is definitely a very good option, as Peter says. Since you're at a university I'm guessing that cost may be an important factor, so take a look at Rackspace's cloud service as well; depending on what kind of server resources you need, this can work out quite a bit cheaper than EC2. (I don't work for Rackspace).