Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 8 years ago.
Improve this question
I am studying possibilities for a project for my company and after many considerations, I'm investigating building the application on NHibernate for object mapping, which would allow our customers to use whatever database management system they'd prefer or are used too, etc... be it MySQL, MSSQL, PostgreSQL or even SQLite in case of little amounts of data. Some our customers have various database systems already in place.
My concern is about licensing around these database management systems, in respect to how we plan to develop the application. For example, MySQL is GPL and MSSQL proprietary. Of course, I would not distribute the related connectors all in the final solution but, instead, let the customer choose its own and install the relevant connectors and database server...
In this case, would we need to buy licenses for all those connectors and systems (which would represent a lot of money I guess) ?
Or should our customer buy a license for the database system of its choice ?
Or can we just ship the application without any database related file and let the customer do its business ?
Thanks for the help,
Pierre.
I'm not a lawyer, but:
Only if the adapter is used (e.g for testing) or supplied/distributed. Contact the DB vendor for the the applicable usage and distribution rules.
If it is the customers responsibility to do so, then yes: the adapters may be provided by the DB vendor or by a 3rd party (commercial or otherwise). Contact the DB vendor for information on obtaining and using said adapters (so that this information can be distributed to customers). Let the customer handle any database licensing.
Yes. See the above two points.
Happy coding.
Related
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 4 years ago.
Improve this question
We're about to start developing a scheduling system and we're motivated to migrate from PHP to Node for the Backend, so it makes sense to also migrate from MySQL to MongoDB (or something similar), I'm not a very tech person, but I'm trying to help my team to make the choices here. All features of this system seem ok to be with either database, but one particular situation raised me concerns regarding performance:
Let's assume I have several doctors on my base, each one with their specialties and clinic locations and also with their time span to work on this system. They also already have some appointments scheduled for spread hours during the weeks.
One user fills the search form with:
Their geolocalization (x,y);
The search radius (ex.: 10miles);
Specialization needed (ex.: dermatologist);
Desired hour (ex.: 11am);
This search, for my old-school mindset, seems OK for a relational database, but a lot of work for non-relational, since their availability will be inside each doctor 'JSON', and not in a specific external 'table' for scheduling.
Do my concerns make any sense?
You can achieve the desired result with both SQL and NoSQL database. But the project you are talking about is more relational design. Example:- Doctor can visit multiple clinics. A patient has also related to the Clinic as well as the doctor. The best solution, in this case, is the hybrid approach where your primary database should be relational and for the reading operation, you can plug NoSQL database like MongoDB if required.
#Rafael Souza
You should go with Relational schema design.
If you use NoSQL then in our case below are the points I want to convey
NoSQL will not be utilized fully at its best.
Developers will have to learn NoSQL and its frameworks.
There is a vast forum for SQL problems compare to NOSQL.
Database storage size would not big so SQL should do good.
Here you need to manage the relationship between Doctor and Clinics which is best suitable in SQL.
I should say that don't go with the Hybrid approach as it will be overhead for your design, any database type is alone capable of handling all the features.
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 8 years ago.
Improve this question
What are the pros and cons of using a NoSQL database (like MongoDb, etc) entirely for a web application which is intended to be a social networking site. I mean, for the User accounts and other credentials to be stored in a NoSQL database, instead of using SQL like MySQL with Hibernate and totally relying on NoSQL, is it a good approach? If not, what are the trends in designing MySQL entities or domain objects (usually User accounts, etc) "bind" to a NoSQL database (which are usually posts, messages, etc.)?
Here are the issues you should consider:
Latency
NoSQL solutions are designed to do well here. They generally write data to memory which is flushed to the disk in batches. If the server crashes before it is written, the data might be lost. MongoDB has Journaling, which will help recovery from crashes. So no issues here
Reliability
NoSQL solutions offer in-built solutions for replicating data. With MySQL, you'll have to do this yourself
For a social network scenario, document stores like MongoDB are a good idea for activity, comments related information. The user data can be stored in a MySQL database
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 9 years ago.
Improve this question
I have been task with the mission of creating a phone solution where clients call a number and using the phone keypad they enter a product ID and base on that ID they should hear the product description that is stored as text in MySQL (text to voice). If they are happy with the product or products they will get an email with all the list of product and their details.
Can anyone point me into the right direction on what to use for this phone server?
Note: maybe I just don't know what to call each service, but that is what needs to be accomplish. I am going crazy reading about trunks, pbx and Asterix
What you are looking for is an Interactive Voice Response system (IVR). There are existing systems that can be programmed for individual applications.
The W3C even has a standard called VoiceXML, which is a standard for interaction between voice systems and computers.
Unfortionately, that is the extent of my knowledge on the topic.
Honestly, Asterisk is not very difficult to set up and get running for something like this. Get an inexpensive and unlimited inbound SIP channel from Callcentric or another trunk provider, and write your IVR as the default extension in the dialplan.
Don't let yourself get overwhelmed. You only need to define your trunk as a SIP peer in sip.conf to get the box talking to your provider, and the dialplan syntax is very, very simple. You don't really need any other configuration for Asterisk itself, unless you have to use a land line, which would require a digium or sangoma board with fxo ports on it, and configuration of the zaptel drivers within asterisk.
Text to speech isn't likely to be as great as you'd like, but it may not be feasible to record all of the audio files that you'd need. The problem is that cloud IVR providers may not be cost effective for your application.
Any other questions, please don't hesitate to ask.
If you don't want to deal with Asterisk, there are other web-based options as well. The one I know the best (because I work there) is Twilio which lets you build phone applications the same way you build web applications. It's much simpler than setting up and hosting your own Asterisk instance and dealing with carrier connections. There are other similar services out there as well.
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 9 years ago.
Improve this question
I am starting a simple windows forms application that requires a database to store inventory and purchasing records (less than 1000 items). What I want to ask is for your opinion which 'lite' database should I use for this small project, considering that the prerequisites I'll be installing in a client computer should have 'minimal' file size.
The client computer has a running OS of Windows 7, and I don't want him to install so many files, such as the .NET framework and the server that hosts the database, just to install the main application I'm currently developing.
What I'm really asking from you guys is to find out which of these two commonly known databases should I use, and look for the 'right recipe' to be used when building the installer. Thank you.
Of the two, SQLite is simpler to install and deploy. Fewer files, smaller distribution footprint and fewer configuration options to deal with (mostly because SQLite is a library that links into your application where as MySQL is a full client/server RDBMS).
SQLite is made for extremely simple database needs, and is probably a good fit based on your description.
I have never heard of MySQL Lite and a web search turned up nothing, so I will assume you meant MySQL. MySQL is a RDBS client/server system and probably major overkill unless you plan to store many records, or to have multiple people accessing the database at the same time.
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 9 years ago.
Improve this question
I came to know about the Free DB2 Express C today. I have a few questions about it. Can someone please tell me
How does Free DB2 Express C compare with MySQL?
Is it a bad idea to switch from MySQL to Express C?
What are the restrictions on the free version? I couldn't find that information on its website.
DB2 is a real database with all the minimal components such as referential integrity, stored procedures, ACID, etc. and some interesting extras such as native XML.
MySQL begins to adopt some of these minimal requirements for one of its storage engines, however this still remains immature. MySQL could be better than DB2 for some specific cases when transactions are not really important, such as a small web site that shows simple content.
DB2 is NOT open source, and for the version express-c you can only download the latest (most recent) version of DB2. It means, that you cannot apply patches, nor fix bugs. However, when there is a new release in the DB2 family, the express-c version is also release, so you always have access to the most recent updates (not like in Oracle, that the express version is still 10G)
The restriction in the DB2 express-c version is the memory size used (for buffer pools and other elements) and its size is 4GB. It could use only 2 cores if the machine has several ones.
There is not limit for the storage or quantity of users.
http://www.ibm.com/developerworks/wikis/display/DB2/DB2+Express-C+FAQ
When you business needs grow, you can update to another version in the DB2 family easily, because your platform (applications) are already designed to work with DB2.
DB2 is good for very small database, and for very bigs database with several TBs.
MySQL is Open Source, and it was bought by Sun, which was bought by Oracle. Some days ago, several Open Sources projects maintained by Oracle were finished, and they will only work with the payed versions; such as OpenSolaris and OpenOffice. We do not know the future of MySQL with Oracle as owner.
In the other side, IBM has been working hard with the Open Source (Eclipse, Apache Derby), and in the last years, there has been a continuous effort to use DB2 express-c, so it seems that IBM will continue this way.
"DB2 is DB2 is DB2"