1. Andrej Škvorc
  2. as Valentina DB Server
  3. 土, 12月 02 2017, 10:03 PM
  4.  メールで購読
Hi

Question for anyone ;)

I'm planning on making few apps (till now was working with .Net (VB) and MS SQL and using LINQ)

I plan on making Web apps...

First app will be for up to 5 users, made to be cgi app for sharedhosting servers and etc... I assume best way is local db for this?

Other apps would be for multiuser enviroment... But i would enable for up to 5 users to be local DB, and then upgrade to client/server... Is this OK solution?

I assume to migrate from Local to Server, just attach DB file to server, and change connection to server in app...

One question is, what licence for Valentina DB i need so i can offer my clients hosting... of App + Server (client does not buy app or Valentina Server, i would rent app to user and app would use my Valentina Server)

Other option is Valentina VDN and deploy each db on vps with app for each customer...


I was planning to use Class Way for DB access .... But as i read i think i will need to combine ClassWay and SQL ...

ClassWay for reading data, creating database and tables and etc

And probably SQL way for updating and inserting records... to use record locking

Did i miss something... Is this the right way?

p.s. Is there any showstopers on running ValentinaDB bot local and Server in Parallels Virtuozzo Containers?
コメント
There are no comments made yet.
Ruslan Zasukhin 承諾済みの回答
Hi Andrej,

am I right that now you going to use Xojo?
コメント
There are no comments made yet.
Ruslan Zasukhin 承諾済みの回答
@@ I assume to migrate from Local to Server, just attach DB file to server, and change connection to server in app...

YES

Valentina DB can be in 1-4 files. Developer choose mode.
Then DB can be easy moved into Vserver/databases folder and be registered to VServer.

In CODE of APP it needs to change only db.Open(path) to Connection.open(), db.open( connection )

After that a VDatabase object and all others work the same.

The only TIP to keep in mind, on really remote DB Servers better work with the help of SQL.
コメント
There are no comments made yet.
Ruslan Zasukhin 承諾済みの回答
About license for hosting, let's wait for Lynn Fredricks comments.

VDN itself was introduced for developers of desktop apps, which deploy a lot of copies of that apps.
コメント
There are no comments made yet.
Ruslan Zasukhin 承諾済みの回答
Since you going to make Multi-user solutions and remote work, use SQL way only.

Class-way was an idea, yet from 90th when ValentinaDB was a single-user embedded engine. When ORM was a very rare thing...
Class-way was an attempt to use OO-ideas around databases.

Class-way is a small addition to API way.


* API Way - again historically was introduced in ValentinaDB yet in 1993, while SQL was introduced only in 2002-2003.
So we can honestly say that API Way is a true NO-SQL in Valentina DB.
SQL engine inside of ValentinaDB uses the same API functions to implement SQL power.

Later we have integrated both ways API and SQL.
And we think this is good.


* At least now, a developer which knows other DBs, can easily switch to Valentina if use the same SQL techniques.
We have SQL Standard, and we support some important not standard extensions from mySQL and postgreSQL.

Later, the developer can try to use API way in some places, or start to use some Valentina unique features, as RecID, ObjectPtr, Binary links.


* Class Way looks similar to some ORMs, but ORMs wrap SQL... The developer works with sine functions, later this is converted into SQL string, which go to DB Server. A result from DB Server is parsed into some languages structures. They try to hide SQL from eyes of the developer.

Our API way and SQL way do not generate SQL commands. To work with client/server, we have 1000+ commands in the protocol for each that API function.
コメント
There are no comments made yet.
Ruslan Zasukhin 承諾済みの回答
About LOCAL DB files to be used in Web app. All depends on traffic, data size, hardware power, etc.

HISTORY: yet in 2000 year, when Valentina Server did not exist, many enough developers have used Open/Close trick to emulate multi-user access. One developer told that he can easily hold 20-users office around such solution. And his record was 100 users. On hardware 2000 year.

Valentina Server over such database speed ups things, of course. First of all, because a database is not lost from VDB Cache on db.close().
コメント
There are no comments made yet.
Scott 承諾済みの回答
Something to keep in mind: If your web server and VDB server are on the same machine, or on the same fast local network, you can still use the API method in your Xojo web app and take advantage of the unique Valentina API methods, properties, binary links, etc..

Client side code on remote machines, such as PHP, should use SQL.
コメント
* PHP often also present on the same localhost where DB Server.
* Although into VPHP we still did not open API way.
  1. Ruslan Zasukhin
  2. 6 年前
There are no comments made yet.
Lynn Fredricks 承諾済みの回答
For deploying Valentina Server, there are two solutions depending on what you are trying to accomplish:

  • If you need to deploy multiple copies of Valentina Server, then the way to go is Valentina Developer Network. This is in effect, an "OEM" server you can deploy to your customers, bundled with your app. The license covers all supported operating systems (macOS, Windows, Linux - even Debian / Raspbian on ARM)
  • If you only need to have one copy of the server, then you should license a single copy of Valentina Server. This one is operating system specific.

In both cases, you have 12 months of updates included. Even if you deploy only a few copies, Valentina Developer Network works out to be more cost effective.
コメント
There are no comments made yet.
Andrej Škvorc 承諾済みの回答
uff... how many responses... i was not able to respond sooner... TNX to all (i have baby/todler dont know where to put my doughter, she is 10 months but walks, climbs and etc from her 7-th month)


Hi Andrej,

am I right that now you going to use Xojo?


Yes with Xojo



For deploying Valentina Server, there are two solutions depending on what you are trying to accomplish:

  • If you need to deploy multiple copies of Valentina Server, then the way to go is Valentina Developer Network. This is in effect, an "OEM" server you can deploy to your customers, bundled with your app. The license covers all supported operating systems (macOS, Windows, Linux - even Debian / Raspbian on ARM)
  • If you only need to have one copy of the server, then you should license a single copy of Valentina Server. This one is operating system specific.

In both cases, you have 12 months of updates included. Even if you deploy only a few copies, Valentina Developer Network works out to be more cost effective.


I was considering using one valentina server and all my customers would be using one server, but each would have its own DB on it...

Application i'm planning and researching what DB to use:

1. One Single Use Desktop App, one user -> embeded valentina without server
2. Web App for up to 5 users -> it seams this would be also be ok for embeded valentina without server
3. For true multi-user app, maybe Valentina Server on the same VPS or Extra VPS for Valentina Server in the same DataCenter so speed for Api would not be a problem...
4. iOS/Android and mybe Desktop apps would not connect directly to Valentina DB in the cloud, but rather thru my own Api Server with json
コメント
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.