RE: [firebird-support] Scalability of connection numbers of client-server solution with Firebird 3.0?
HiThe limits what you have presented are from past years when the hardware was the limit here. Now when ssd exists and desktop computers have avg 16GB RAM this is no more a problem.But application must be well written. I am not sure if it is as you still use IBX. But maybe you use extensively TClientDataSet to cache data as IBX do not make it for you.The best is to migrate to Firedac. But without migration you should observe your transactions management e.g look into mon$transactions.Regards,Karol Bieniaszewski null
[firebird-support] Scalability of connection numbers of client-server solution with Firebird 3.0?
Hi! I have set of Delphi applications that uses IBX and Zeos for connecting to Firebird 3.0 server. Some are direct client-server solutions (i.e. Delphi application uses IBX or Zeos components to open connection on the Firebird server) and some are 3-tier applications which have Delphi server and Delphi client (TClientDataSet is used for communication), but this server again uses IBX and Zeos. Just wanted to know - can there be any scalability issues. Currently we have some 30-40 concurrent connections, but their number can grow to 80, I guess - no more than 100. I remember from old days (back to ~2006, Firebird 1.0/Interbase 6.0/Firebird 1.5 times) that the high number of DB connections (around 50 and more) could hurt performance very much and very little could be done. Just wanted to check the current situation? Other databases have similar restrictions on the number of connections https://stackoverflow.com/questions/3733688/database-concurrent-connections-in-regard-to-web-http-requests-and-scalability and I wonder what is the best practice for Firebird with Delphi? The usual architecture for my client-server Delphi application is that I have one TIBDatabase and/or TZConnection per Delphi application and that is why MON$ATTACHMENTS usually show 1-2 attachments for each user. I guees - this is correct and I can simply can not make more optimization here - application should have 1-2 connection and there can not be any more pooling-type optimization here, am I right? For the 3-tier applications I have 1-2 connections for TDataModule and each TDataModule servers one user and those TDataModules are pooled with their connections preserved. Ususally I have 20-30 connections from my 3-tier application. Recently we increase the number of users/connections (as I said - to 50-80) and I am worrying now what can happen, should I be ready for emergence of some concerns? Just wanted to be prepared. And generally:- what are the limits on the number of Firebird connections/attachments? Should I be concerned about those limits if we will not have more than 100-150 Firebird connections?- what are pooling options for Firebird or Yii PHP application? Usually I think that pooling is very complex issue but maybe it is not? thx J.L.
[firebird-support] Firebird Embedded access permissions problem?
I'm using Delphi 10.3.3 and Firebird embedded 3.x in an application for the first time, I'd created the fdb file on my server and then copied it to the computer / directory where I'm developing the application that will make use of the database. I'm able to connect without any problem but when I attempt to execute a SQL Delete statement to clear records from a table in order to repopulate it I get this error "EIBNativeException with message [FireDac][Phys][FB]no permission for DELETE access to TABLE MUSIC". From what research I was able to do this was the information I found "The user name specified during the "logon" (no password authentication occurs) is used to manage user access to database objects (via SQL permissions) but if that user name is SYSDBA (or the owner of the database) then unrestricted access is possible" and the user that I'm connecting with is SYSDBA. So I'm puzzled about why I'm getting a permissions error when I'm attaching as SYSDBA, ideas's?
[firebird-support] How can I use/map Active Directory Groups within my Firebird in Trusted Authentication mode?
Hello, in my actual project I use Trusted User Authentication. As described in the documentation I have created this mapping: CREATE GLOBAL MAPPING TRUSTED_AUTH USING PLUGIN WIN_SSPI FROM ANY USER TO USER; In my opinion this means "all AD users are also Firebird users but without grants to a specific table". If I grant privileges to a domain user it will work fine: grant all on MY_TABLE to "MYDOMAIN\MYUSERNAME"; In production environment I have about 300 users. All users are in 3 different AD groups. ("basic_user", "management", "admins") - admins are application admins no domain admins. Is it possible to grant to this groups and not to 300 users? Or is it possible to create a mapping (map AD groups to firebird groups)? How? The documentation about mapping is not good. grant all on MY_TABLE to "MYDOMAIN\management"; --> this does not work CREATE MAPPING TEST USING PLUGIN WinSSPI FROM GROUP " management " TO ROLE FIREBIRD_MANAGEMENT; --> this does not work I'm using Firebird 3. Regards Mathias Pannier ub.unitel GmbH, Schulstra?e 16, 06792 Sandersdorf-Brehna Geschaeftsfuehrung Klaus Richter, Olaf Meyer Amtsgericht Stendal HRB 26389 FA Bitterfeld Steuernr. 116/107/08597 Ust.identNr. DE815796778 Deutsche Bank IBAN DE53 86070024 0 6143234 00 Kreissparkasse Anhalt-Bitterfeld IBAN DE69 80053722 0 3050326 82 _ Dieses E-Mail ist nur f?r den Empf?nger bestimmt, an den es gerichtet ist und kann vertrauliches bzw. unter das Berufsgeheimnis fallendes Material enthalten. Jegliche darin enthaltene Ansicht oder Meinungs- ?u?erung ist die des Autors und stellt nicht notwendigerweise die Ansicht oder Meinung von ub.unitel GmbH dar. Sind Sie nicht der Empf?nger, so haben Sie diese E-Mail irrt?mlich erhalten und jegliche Verwendung, Ver?ffentlichung, Weiterleitung, Abschrift oder jeglicher Druck dieser E-Mail ist strengstens untersagt. _