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

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

Related

Lightweight ETL or database Sync - Sybase to SQL Server

I have been doing some investigations into some light weight database Syncing tools to trial. The initial task we want to perform is a simple data sync from a few tables on a Sybase ASE database (15) to a SQL Server database (2008 R2). Timing wise, I'd like to keep my options open, but ultimately, I would like to have the ability to sync every minute or less.
I have been looking at SymmetricDS, which at face value seems to do exactly what I want it to. The drama is I have hit a couple of roadblocks on the Sybase side of things, which is proving to be very frustrating (Jumpmind support are assisting). It appears that Java has a problem with the default collation we have on our server, being HP-roman8. Unfortunately, to change this charset is way bigger then this project itself.
I have also started investigating Talend, but have hit a few roadblocks in relation to requiring older versions of drivers for Sybase and downgrading the installed version of Java.
Without having to go to Replication Server, does anyone have any suggestions on a relatively lightweight ETL or database Syncing tool that will do what I want? The biggest gotcha thus far is Sybase support - I really need something that will seamlessly work without having to hack too much.
Cheers
You should try uniVocity. It is a Java-based ETL framework that certainly can help you do what you need. You can use any JDBC driver, define your mappings with a few lines of code and have this working faster than a traditional ETL tool.
Have a read through its tutorial and also check out a few sample projects here
Disclosure: I am the author of this library. It's open-source and free (Apache V2.0 license).

Web based solution for team with no Server or database

My team which is a part of a university needs me to develop a web based application for them which can be accessed by any team member. However the university doesn't provide us with a database.
We do have a portion in their server but that's for our public website. Even if I put the application on that server, I need to have a database. I can't use an excel sheet for storing all the data cause it will be huge. I am looking for an optimal solution.
Never fear there are a number of non RDBMS (Oracle, MySQL, MS SQL Server, etc.) solutions around.
You can try many of the document databases under No-SQL banner, with some popular options being:
RavenDB if you are developing your web application in the Microsoft stack.
MongoDB is a great well supported open source document database.
BaseX or Sedna are useful XML databases.
Alternately you can look to Cloud (some offer free services, others are commercial and will need to pay for) databases such as:
Amazon RDS
Elasticsearch
Windows Azure
Choose:
http://www.sqlite.org/
http://www.db4o.com/
Both will give you a database ability with no prior machine configuration or setup package.
For a small team group, specially with no more than 3 developers, I would recommend you to look at CloudBees. They offer a free tier where you can have on the same platform a repository, a Continuous Integration tool, so you can build and test your app every time you do a commit, and a runtime environment where you can deploy a Java, a Play or a PHP application. You can also create free databases.
In the case you wanted to have a visual git repository, you can use GitHub and link your source code with your Jenkins job.
In this way, you don't need multiple tools for your development environment.

FluentNHibernate SQL Server 2005/2008 Setup Tutorial

Does anybody know of any good tutorials that show how to configure FluentNhibernate for SQL Server 2005/2008. The ones I have found usually just use SQLite, but I would like to see one that specifically targets SQL Server 2005/2008.
I really liked the sample tutorial on the FluentNhibernate website (http://wiki.fluentnhibernate.org/Getting_started#Your_first_project), but it looks like most tutorials I have found seem to only deal with SQLite. It would be great to see a working tutorial that deals with the more common databases in real world applications like SQL Server 2005/2008, MySQL, etc
Thanks!
Tutorials use SQLite not because it's "quick & dirty" but because it's embedded, small, and free. Anyone can download System.Data.SQLite and start working in about 60 seconds, and later switch (or not) to another database with minimum impact. That's one of the major benefits of using an ORM.
Just in case, I want to clarify that SQLite is not a toy database, for many applications it's enough and even necessary since the characteristics I mentioned above aren't too common for a relational databse.
In the case of fluent-nhibernate, the only difference is that instead of:
Fluently.Configure()
.Database(
SQLiteConfiguration.Standard
.UsingFile("firstProject.db"))...
you'll have:
Fluently.Configure()
.Database(
MsSqlConfiguration.MsSql2005
.ConnectionString("a raw string"))...
Each database engine config has its own specific optional settings.
More information about configuring different databases in the fluent-nhibernate wiki.

Getting started with VB.NET Databases

I'm having trouble figuring out databases in VB.NET. (VS 2008)
What control(s) do I need to use and how do I use them? I am ,looking for tutorials and sample code too.
I'm working on a trivia game where the admin can remove and add questions to a database.
EDIT:
The program must be able to do all of the DB interactions itself through code.
Regarding DB portability...
I do not intend to install it on many machines, so portability is not a major issue, but I's rather not be bound to Access or SQL Server. (Is that possible? - A portable database file?)
A bit more complaining...
I really need help with connection strings and the whole DB gamut in VB. I've done DBs in PHP so I'm not completely ignorant. It's the VB side of things that's confusing.
Thanks.
Have you considered SQLite DB? It's a very small DB and is used my many vendors. I have not used SQLite personally, but I do know that Firefox uses it and so does iPhone (from what i've read).
SQLite does not require you to install anything (as per the post below). It's a nice alternative to Access or carrying around SQL Server Express.
If you do decide to use SQL Server Express, you will be required to install the run-time, from here for each machine it's used on.
Below are some links which may help you get started
Google for SQLite DB
ADO.NET 2.0 Provider for SQLite
And finally, here's a blog post outlining how to get it done, and quickly.
Cheers!
I would suggest Microsoft's Enterprise Library - The hands on labs available make it a breeze to setup access to a database, and can make it as simple as a config change to point to a new/different DB.
Also, check out http://connectionstrings.com/ for related info.

Web interface for SQL Server database

I have been working on VB6 database desktop programming, but now a client is asking for a
simple web interface (some inserts into SQL Server db used by a desktop application).
The question is: Which approach is better?
1)creating asp.net project, connected directly to the SQL Server database;
2)creating separate (simple) mysql database managed by php and synchronization (in 15 minutes for example)
Thanks.
Personally since you already have the SQL Server database, I see no reason whatsoever to add the complexity of another database and then synchonization. The first alternative is simpler to create and can be secure if you design it correctly. The issue about hosting is irrelevant since you are going to your own database that already exists, so is the issue about cost since the databse is already there. Further since you are already supporting SQL Server, you may be able to reuse some code rather than write new code (mysql's version of SQL is not the same as SQl Server's version). Synching the two databases may be more complex than you think (differnt data types, etc.) and the data in the real database is not real-time whereas with the first alternative it is.
I'd prefer the separate database approach.
It's more secure.
PHP/Mysql hosting is widespread
You can pretty much achieve anything with the technologies available, it just depends on your skill and productivity with specific technologies and the availability of online help. Plus Microsoft stuff you tend to have to pay for whereas PHP/MySQL is totally free.

Resources