1. Stephen Thomas
  2. as Valentina DB Server
  3. Суббота, Сентябрь 19 2015, 09:31 PM
  4.  Подписаться через email
Im now setting up Valentina with Xojo (Hello from the Xojo Community!)

Now the plugin is installed and the server is up and running, is there a Valentina tutorial I can follow ?

:)
Комментарий
There are no comments made yet.
Scott Ответ принят
Welcome!

Valentina is a robust powerful database and reporting solution. We use it exclusively and have some pretty big clients with big demands (The mouse here in Orlando is one of our largest clients).

The only stumbling block you may encounter is the documentation. It's a little hard to follow - but once you get the hang of VDB it is a tremendous product. The developers are very helpful.

We learned along the way - making some pretty terrible mistakes - and we are still learning the finite details of VDB.

You set up a Vserver from what I see - we use Xojo also and the API method for most of our VDB code. I find it fast, efficient, and easy to code. If the VServer is not located on the same local network - I would recommend the SQL method.

We swear by binary links. It's refreshing to leave the old Primary/Foreign key thing behind. Same with ObjPtr. We started with both, but found binary links to be faster, more efficient, and easier to use when implementing solutions.

A nice feature of VDB is stored procedures. You can off load quite a bit of your business logic to the VServer.

The Reports ADK on VServer is awesome. I personally think it competes with, if not kicks Crystal Reports in the shorts for product features & price. The documentation is pretty minimal for Reports, however, and we learned mostly by trial and error.

We love it. The examples in the Paradigma folder after installation are pretty helpful. The youtube channel can give you basic information, although most of it is pretty dated.

Hit me on the PM and we can give you some pointers if you would like. The API reference in the Wiki is probably the best place to start.

We are a Mac shop and can't say enough positive things about VDB. It won us over for features and price.

Scott
Комментарий
There are no comments made yet.
Ruslan Zasukhin Ответ принят
Hi Stephen,

our central place of docs - is Valentina WIKI:
http://www.valentina-db.com/docs/dokuwiki/v6/doku.php

Here on left side you can see Products -> Valentina for Xojo

It have section Getting Started with
* some tutorials.
* Migration to Valentina DB
* Migration to Valentina Server

Exists video tutorial about how to install Xojo plugin, VServer, VStudio.

Also in WIKI you can find FAQ sections.


Also you can find Articles section:
http://www.valentina-db.com/docs/dokuwiki/v6/doku.php?id=valentina:articles:articles

where you can see few articles about new SQLite Server, REST, notifications.


BTW, please specify your area of interest?
Комментарий
There are no comments made yet.
Ruslan Zasukhin Ответ принят
Hi Scott,

Hit me on the PM and we can give you some pointers if you would like. The API reference in the Wiki is probably the best place to start.


Actually better ask public on forum, then
1) we will see where was problems to add more docs and FAQs
2) more people will benefit from your answers
Комментарий
There are no comments made yet.
Ruslan Zasukhin Ответ принят
We swear by binary links. It's refreshing to leave the old Primary/Foreign key thing behind. Same with ObjPtr. We started with both, but found binary links to be faster, more efficient, and easier to use when implementing solutions.


I remember you did have question about BinaryLinks and SQL. Please ask in a new thread. This is very nitrating.


Also to excite you even more. I have start month ago, in develop branch, big job to start use VarInts() simple algorithm, which can be found e.g. in SQLite.

Finally I have to see how we can use it in Valentina DB.
1) Indexes - will compres all RecIDs.
2) BinaryLinks, also will compress its pair of RecID1, RecID2.

In theory, we can get smaller size on disk up to 4 times. What should make it also faster in the same factor.

This task is big and very messy. I have start with BYTE_INDEX as the most simple.
Комментарий
There are no comments made yet.
Stephen Thomas Ответ принят
Ruslan Zasukhin wrote:

Hi Stephen,

our central place of docs - is Valentina WIKI:
http://www.valentina-db.com/docs/dokuwiki/v6/doku.php

Here on left side you can see Products -> Valentina for Xojo

It have section Getting Started with
* some tutorials.
* Migration to Valentina DB
* Migration to Valentina Server

Exists video tutorial about how to install Xojo plugin, VServer, VStudio.

Also in WIKI you can find FAQ sections.


Also you can find Articles section:
http://www.valentina-db.com/docs/dokuwiki/v6/doku.php?id=valentina:articles:articles

where you can see few articles about new SQLite Server, REST, notifications.


BTW, please specify your area of interest?


Thakyou all. I see the tutorial and other parts there.

My area of interest ?

My current project is a client based application (It can not be web app), where several users connect to a central database to create 'incidents' - recording and managing details of particular events that are classified as an incident. The detail includes address style location data, incident type/classification, text logs of what action was taken to progress the incident and many other incident details.

I looked at other db systems and ruled out some straight away.

Oracle - Industry heavy weight but far out of my price range and heavy learning curve.

MySQL - Too restrictive once used in commercial environment.

SQLite - Great database but not suited to network operation on the scale I need.

PGSql - Other good option for my needs.

I have a license for Valentina since OmegaBundle last year and have just downloaded v6.

Asynchronous notification is a key part, since changes from one user have to be reflected on other users screens immediately. The information comes very rapidly in the workflow and must be reflected at all clients. I will be testing this area extensively.

Replication, as a backup function and to help performance. Write changes to one database with replication in place, and refresh data from read-only replication copy.

I also have a need for spatial functions since routing and road distances are a key part of the application. I do not see this in Valentina of course, but it could be done using SQLite/Spatialite operating from the client workstation instead of a central server.

It is good to see Valentina recently include SQLite as an option for the backend, which may be an option for the spatial functions, but would need to be able to load spatialite extension. Spatialite is tricky on OSX which is where I develop.

Overall the db system needs to be very fast and responsive, since operation of the system will be time critical.

For testing and development purposes I have a 27 inch iMac (Last 2013) and a standard PC to run the db system, with GB ethernet connecting them both.

:)
Комментарий
There are no comments made yet.
Stephen Thomas Ответ принят
Scott wrote:

Welcome!

Valentina is a robust powerful database and reporting solution. We use it exclusively and have some pretty big clients with big demands (The mouse here in Orlando is one of our largest clients).

The only stumbling block you may encounter is the documentation. It's a little hard to follow - but once you get the hang of VDB it is a tremendous product. The developers are very helpful.

We learned along the way - making some pretty terrible mistakes - and we are still learning the finite details of VDB.

You set up a Vserver from what I see - we use Xojo also and the API method for most of our VDB code. I find it fast, efficient, and easy to code. If the VServer is not located on the same local network - I would recommend the SQL method.

We swear by binary links. It's refreshing to leave the old Primary/Foreign key thing behind. Same with ObjPtr. We started with both, but found binary links to be faster, more efficient, and easier to use when implementing solutions.

A nice feature of VDB is stored procedures. You can off load quite a bit of your business logic to the VServer.

The Reports ADK on VServer is awesome. I personally think it competes with, if not kicks Crystal Reports in the shorts for product features & price. The documentation is pretty minimal for Reports, however, and we learned mostly by trial and error.

We love it. The examples in the Paradigma folder after installation are pretty helpful. The youtube channel can give you basic information, although most of it is pretty dated.

Hit me on the PM and we can give you some pointers if you would like. The API reference in the Wiki is probably the best place to start.

We are a Mac shop and can't say enough positive things about VDB. It won us over for features and price.

Scott


Thankyou for these pointers too. I am quite familiar with SQL for my needs but I see also there is a lot to learn about Valentina.

I also like that it is actively devloped and updated regular.
Комментарий
There are no comments made yet.
Ruslan Zasukhin Ответ принят
Thank you for these pointers too. I am quite familiar with SQL for my needs but I see also there is a lot to learn about Valentina.


Can I comment this?

Valentina DB is hybrid and flexible (like a woman?) :-)

* Valentina DB is Object-Relational DBMS.
This mean that all you know about Relationa model and SQL is correct here.
You must be able do all similar to other major SQL dbms, and it should work for you.


* Valentina DB can be used also as non-SQL.
* Key - Value? okay
* API way only? okay.

* ORM ... around SQL dbms, people often develop some ORM level, which hides SQL.
You work with some classes via API, later it is anyway is expanded into some SQL which go to DB.

Valentina even here has some extensions. e.g. You can work with extended methods of VCursor, and do VCursor.AddRecord() or VCursor.UpdateRecord() and magic is that SQL is NOT generated on client-side. To Server is sent small binary packet.


But let me underline, all this @sugar@, can be learned and played eventually, step by step.


And we still are on the track to a "more perfect state" :-)
Комментарий
There are no comments made yet.
Ruslan Zasukhin Ответ принят
I also have a need for spatial functions since routing and road distances are a key part of the application. I do not see this in Valentina of course, but it could be done using SQLite/Spatialite operating from the client workstation instead of a central server.


Well, you can show us what exactly you talk about in SQLite ...
I have see some extension for SQLite, comparing to postgreSQL support of "partial things" it is much simpler.

We can EASY add any FUNCTION on our C++ side, we have hundreds of them.
http://valentina-db.com/docs/dokuwiki/v6/doku.php?id=valentina:vcomponents:vsql:reference:expr:expr

Such function can be used in any SQL expression, and affect indexing, because we have indexing by expressions.


It is good to see Valentina recently include SQLite as an option for the backend, which may be an option for the spatial functions, but would need to be able to load spatialite extension.


Our developers told me that YES you must be able load SQLite extensions into our VSERVER, because this is possible todo via SQLite SQL.
Комментарий
There are no comments made yet.
Ruslan Zasukhin Ответ принят
SQLite - Great database but not suited to network operation on the scale I need.


Well, with Valentina SQLite Server - may be this changes.
Комментарий
There are no comments made yet.
Stephen Thomas Ответ принят
Ruslan Zasukhin wrote:

[code type="markup"]Thank you for these pointers too. I am quite familiar with SQL for my needs but I see also there is a lot to learn about Valentina.


Can I comment this?

Valentina DB is hybrid and flexible (like a woman?) :-)

* Valentina DB is Object-Relational DBMS.
This mean that all you know about Relationa model and SQL is correct here.
You must be able do all similar to other major SQL dbms, and it should work for you.


* Valentina DB can be used also as non-SQL.
* Key - Value? okay
* API way only? okay.

* ORM ... around SQL dbms, people often develop some ORM level, which hides SQL.
You work with some classes via API, later it is anyway is expanded into some SQL which go to DB.

Valentina even here has some extensions. e.g. You can work with extended methods of VCursor, and do VCursor.AddRecord() or VCursor.UpdateRecord() and magic is that SQL is NOT generated on client-side. To Server is sent small binary packet.


But let me underline, all this @sugar@, can be learned and played eventually, step by step.


And we still are on the track to a "more perfect state" :-)


Yes, I see a lot of flexibility, lots of which I have not used before. And some which I am sure will help with performance.

Record cursors I am particularly interested in too!
Комментарий
There are no comments made yet.
Stephen Thomas Ответ принят
Ruslan Zasukhin wrote:

I also have a need for spatial functions since routing and road distances are a key part of the application. I do not see this in Valentina of course, but it could be done using SQLite/Spatialite operating from the client workstation instead of a central server.


Well, you can show us what exactly you talk about in SQLite ...
I have see some extension for SQLite, comparing to postgreSQL support of "partial things" it is much simpler.

We can EASY add any FUNCTION on our C++ side, we have hundreds of them.
http://valentina-db.com/docs/dokuwiki/v6/doku.php?id=valentina:vcomponents:vsql:reference:expr:expr

Such function can be used in any SQL expression, and affect indexing, because we have indexing by expressions.


It is good to see Valentina recently include SQLite as an option for the backend, which may be an option for the spatial functions, but would need to be able to load spatialite extension.


Our developers told me that YES you must be able load SQLite extensions into our VSERVER, because this is possible todo via SQLite SQL.


The spatial extension I want to use is here : http://www.gaia-gis.it/gaia-sins/

This is spatial extension to SQLite, so I can achieve vehicle routing and time/distance. It is also used in mapping and G.I.S.

I then load OSM (OpenStreetMap) data into the database and can query this for the above details.

I have no experience of C, but if the spatialite library can be loaded as an extension to SQLite, then it should work.
Комментарий
There are no comments made yet.
Stephen Thomas Ответ принят
Ruslan Zasukhin wrote:

SQLite - Great database but not suited to network operation on the scale I need.


Well, with Valentina SQLite Server - may be this changes.


Yes, absolutely. My main schema already exists in SQLite for the purpose of testing/development, and has always shown great performance.

SQLite Server will benefit a lot.

:)
Комментарий
There are no comments made yet.
  • Страница :
  • 1


There are no replies made for this post yet.
However, you are not allowed to reply to this post.