Creating a Database Software needed - database

Hi can someone explain to me what the following database software are:
HeidiSQL, MariaDB and XAMPP.
Also do they depend on each other to work? Hope you can help.
Thank You

MariaDB:
Is a open-source database server, basically its a fork of MySQL and they provide support and services, its slightly better than MySQL since they have made some changes to MySQL. MariaDB doesn't depend on anything. Its a complete database product.
HeidiSQL:
Its a fronend-MySQL, its nothing but a UI for interacting with different database servers like MariaDB, Percona, and many more depending on their enhancement. HeidiSQL is just a frond end, If you want to interact with databases, you must connect to one. Yes, heidiSQL is dependent on databases. Latest enhancements support MS SQL Server, which is great :)
XAMPP:
Its like a tech stack similar to LAMP, WAMP etc. XAMPP means Apache HTTP Web Server, MariaDB, PHP, and Perl. X stands for cross platform. XAMPP is dependent on many as you can see its a tech stack.

Related

NoSQL Offline/Standalone - Query GraphDB File directly without exe application?

Every relationship database can be used without the need for installation of any software or tools, as most of the query read/write is all done to read a file that stores data in a specific format.
Can the same thing be done with a graph database (doesnt have to be neo4j, i wouldnt mind an alternative) without installing software, or having terminal endpoint running for access to database?
Example:
MySql is a db file you can query
MSSQL is a db file you can query
SqlCE is a db file you can query
Sqlite is a db file you can query
Neo4j: You need to download, install, have running and query through ip address?
OR... pay higher rates (2-5x cost?) for graph DB hosting in comparison to RDMS which is so inexpensive, it's practically given for free for most web hosting services.
Purpose and Reasoning for Question
I'm looking for some cost efficient solutions to run a graph database
with all the bells and whistles, that i can run from web host or
application (that only handle IIS and hard-file transfer services --
maybe it can do netcore, but dont know if you can run graphdb through
netcore as a module service).
Yeah, MSSQL is doing it now, but it's
limited in what it can do and handle, as well as the tutorials are
lacking in how to properly write NoSQL queries as fluent as the SQL
stuff...
Well, i found the answer to my question, and it's "yes, you can create a standalone graph.db to query from (in neo4j)." However it's only limited to Java and not supported by other languages or frameworks.
Neo4j calls it an "embedded" database. Which is exactly what i was asking in my question, though i was hoping to be able to use the services in a .net application, which turns out to not be compatible.
If anyone has any alternate solutions that can work with netcore, i would love to see it posted here. I'm happy to know that i was right, and that it is possible to run queries on a hard file. Just disappointed that because neo4j is native to java, the technology is only available to java apps. Has no one written a c# port yet? (Not in-memory, but to and from hard file.)
Anyways, i'll continue to research and look more into all of this. Thank you.
Edit-1: Graph database for .NET

How to synchronize work on a database project over multiple programmers?

I'm developing an app with one of my friends and it'll use an Oracle database. We can sync the code with github but what about the database? Is it possible to somehow use git for that as well?
I assume the recommended approach would be to use a central online database somehow. Where do I start with that? Docker? We are both inexperienced in web development. We also have no requirement to make the database online(it's a university course project) so I do not want to go through that hassle if possible.
You can store your SQL scripts (like your DDL commands to create your tables, etc.) in GitHub, just like any other code, but your Oracle database won't interface with it directly. You can use Oracle's SQL Developer as an IDE to interface with GitHub.
https://www.oracle.com/tools/downloads/sqldev-v192-downloads.html
https://blogs.oracle.com/shay/managing-oracle-database-code-with-sql-developer,-git,-and-developer-cloud-service
Traditional Oracle is free for academic and training purposes, and there is also a free cloud offering now as well. You can run it from a laptop, a VM using VirtualBox, or from the Oracle Cloud. Unless you need a specific option with Enterprise Edition, your best (least complicated) bet, is probably to go with the Oracle 18c XE version, available here: https://www.oracle.com/database/technologies/xe-downloads.html
We built a commerical tool that helps database developers use Git with the Oracle Database. It tracks the changes in database objects and helps you to commit them to Git. It might be worth takinga look: https: www.gitora.com

how to connect SQL-Server database with Oracle Enterprise Repository

My dept wants to keep using a homegrown ASP application that runs off a SQL-Server database, but we also want to take advantage of the governance capabilities and that slick navigator in Oracle Enterprise Repository. Is it possible to integrate an OER database with an un-normalized SQL-Server database?
I don't mean like a one-shot migration from SQL to OER. I'm looking for an adapter or something that would allow use of both OER and the ASP application on an ongoing basis?
I don't want to do a tightly coupled solution that involves a lot of coding of .bat files. I'd rather do something that takes advantage of already existing connectors and adapters, if possible.
OER does support SQL Server as the backend already - take a look at the OER Installation Guide. Great idea to use OER - we find it to be a very powerful and flexible tool for Governance, and I hear Oracle is investing a lot in it for future versions.

Delphi - Database Server

Which of the Database servers would you people recommend for using in a moderate-to-large scale (will vary from customer to customer) application.
I know MS SQL but since the app will be developed using delphi the .net framework is kind of annoying to deploy aswell. Also how realiable is Interbase.
Thanks in advance.
Since I have been developing in Firebird for several years now, if I were in your situation, I would look no further. The fact that you can develop your own extension library (udf library) in Delphi makes it very attractive to start with. Some of the new SQL constructs like the List aggregator and Common Table Expressions are icing on the cake. Deployment is very light (under 5 MB), and the support is excellent including incredible tools like IBExpert. I used MS SQL Server in a big company I worked at a few years ago and I would choose Firebird over MS SQL Server.
Data Access to SQL Server has nothing to do with the .NET framework. Delphi can connect just fine to SQL Server.
In terms of database engines that work with delphi, another you can consider is the Sybase Advantage Database server
Interbase is as reliable as they come. In fact, I'd like to get a job as an Interbase DBA, because I could uses the sleep.
I would definitely recommend looking at Interbase by Embarcadero or the open-source sibling, Firebird. Both are very well supported by Delphi by means of native, high-performance db-access components and such.
Interbase is a totally rock-solid database - I would put it on a par with SQL Server or Oracle. It's totally capable of handling medium to high traffic for at least 50-100 users concurrently, no problem at all.
Another two worth competitor would be Elevate DB and Nexus DB. Both grew out of Delphi file-based database systems, and both have been around for quite some time (in one form or another) and are well proven, widely used, well tested.
Marc
This seems back-to-front to me. I would choose the database server first, then select the development environment that works best with the selected database.
SQL Server. For 2005, you can make your own SQL Server deployment application that automates installing of Windows Installer 3.1, .NET Framework 2.0, SQL Server 2005 then installing the database through generatated SQL script (Feel free to contact me if you need help with it, I'd gladly help you). If you still insist on not installing .Net framework which is 22MB, I'd say go with SQL Server 2000 as you can still upgrade it to 2005+ when you'd like to.
Also, I had been using Advantage Database Server for few years and it's alright, Few DLLs to copy and you're ready to go even if you'd like to switch to remote version.
Both Server and Client installations of MS SQL require the .NET framework on the target machine. That's about it. If we can use ms sql without .net on target machine then ms sql is fine.
I have being developing in Delphi for about 6 years using distinct editions of SQL Server, and this database server behaved very very well. All of them were critical applications.
So, I would recommend you to keep with it.If you don't want to use .NET with and keep SQL Server I would recommend an older version pre-2005.
This isn't really an answer, but some things you might like to consider before making your mind up.
What do you mean by moderate-to-large scale? Do you mean by the number of concurrent users or by the amount of data being stored?
Are you going to be supporting the database as well when it's deployed, or might the customer have their own DBAs and want to incorporate it into their infrastructure team's remit?
Do you need to build-in complex features like auditing or granular security that some databases might provide out-of-the-box? Do you need to be able to run an overnight batch process on the database in some controlled manner?
Do you need to be able to have robust high-volume transactional support, or is it more for just using as a sink for reporting data? i.e. is it more OLTP or OLAP?
Are you limited by cost? i.e. does it need to be free/open-source, or can you select paid-for vendor product?
Both Firebird & Interbase are great, but not generally well-received into an "enterprise" environment in my experience unless they're "hands-off" and embedded into the application. MS SQL Server is a "safe-bet" for most systems. There is a cost associated with it but, as you know, it does come with a complete toolset and very good support.
If you do go down the Firebird or Interbase route then do take a look at Jason Wharton's IBObjects library which provides a high-performance replacement for BDE when using these databases. http://www.ibobjects.com/

Choosing a desktop database

I'm looking for a desktop/embedded database. The two candidates I'm looking at are
Microsoft SQL Server CE and Oracle Lite. If anyone's used both of these products, it'd be great if you could compare them. I haven't been able to find any comparisons online.
The backend DB is Oracle10g.
Update: Clarification, the business need is a client-server app with offline functionality (hence the need for a local data store on the client)
If the backend database is Oracle 10g it will probably be easier for you to use Oracle Lite - that way you don't have to use two completely different SQL dialects in the same project.
BTW, In my product I use SQLite as the desktop database
I'll second the vote for SQLite. I'm not sure what you're trying to accomplish but if you're doing any sort of local storage with syncing SQLite is a good choice. It has very widespread adoption and a lot of community support.
I also used SQLite as a desktop database. It's lightning quick and doesn't need a seperate process or any prior installation. All you need is a library to access the data as part of your code.
In light of your clarification I'd evaluate both OracleXE and Oracle 10g Lite before the others. Stick with the same tech, SQL/Oracle have some funny disagreements about SQL syntax and datatypes. I imagine you'd get the same issue with SQLite.
Perhaps I'm not fully understanding the need here. You are developing against 10g, but for your own test/dev environment you want a more lightweight database?
Or, are you developing an application that synchs with 10g database when online, but when offline uses a local store?
In both cases, I'd recommend staying with Oracle only because it will simplify your code.
In the first case, I'd wonder why you don't have a 10g QA machine somewhere that all the developers can connect to.
One advantage you have with SQL Server CE is that it is free and you can use the Sync Framework to syncronize it with any ADO.NET accesible database.
Also, the same SQL CE file is usable from the PC and mobile devices, and if you develop your application using .NET, you can use the same code for the desktop and the mobile device without changes.
You might want to look at Oracle XE. I cannot remember all of the differences, but O-Lite didn't fit my project needs. Oracle XE is a very good database for local development.
Brad
As #Nir mentioned, it's better to have homogeneous environment. However if you decide to not use Oracle Light, I would highly recommend you to take a look at Firebird. It's one of best choices for desktop database scenarios.

Resources