Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is the difference between DBI and DBD?

Tags:

perl

dbi

dbd

Can someone please shed some light on what exactly is DBI and DBD? When should either one be used and the benefits of using one over the other.

like image 898
Anand Shah Avatar asked Dec 24 '09 11:12

Anand Shah


People also ask

Which is better dBi or dBd?

dBi gain figures are 2.15 dB higher than dBd gain figures.”

What is the relationship between dBd and dBi?

dBd refers to the antenna gain with respect to a reference dipole antenna. A reference dipole antenna is defined to have 2.15 dBi of gain. So converting between dBi and dBd is as simple as adding or subtracting 2.15 according to these formulas: dBi = dBd + 2.15.

What is the gain of a 5 dBi antenna in dBd?

The difference in gain in dB is referenced to the signal from the dipole. A dipole antenna has 2.14 dB gain over a 0 dBi isotropic antenna. So if an antenna gain is given in dBd, not dBi, add 2.14 to it to get the dBi rating. If an omni antenna has 5 dBd gain, it would have 5 + 2.14 = 7.14 dBi gain.

What is dBd in decibels?

dBd (decibel relative to dipole) The gain of an antenna can be measured relative to a reference dipole antenna and is expressed in dBd. A reference dipole antenna offers a fixed 2.15 dB of gain over an isotropic antenna.


2 Answers

DBI is database access library, whereas DBDs are "drivers" which are used by DBI to access particular database (eg. there is one DBD for MySQL, another one for PostgreSQL etc). You should use DBI rather than DBDs directly.

like image 195
el.pescado - нет войне Avatar answered Nov 15 '22 10:11

el.pescado - нет войне


From the DBI docs:

               │←−−  Scope of DBI  −−→│

                      ┌───┐  ┌─────────────────┐  ┌─────────────────┐
  ┌─────────┐         │   ├──┤    XYZ Driver   ├──┤    XYZ Engine   │
  │  Perl   │         │   │  └─────────────────┘  └─────────────────┘
  │ script  │  │ A │  │ D │  ┌─────────────────┐  ┌─────────────────┐
  │  using  ├──┤ P ├──┤ B ├──┤  Oracle Driver  ├──┤  Oracle Engine  │
  │   DBI   │  │ I │  │ I │  └─────────────────┘  └─────────────────┘
  │   API   │         │   ├── ∙∙∙
  │ methods │         │   ├── ∙∙∙ Other drivers
  └─────────┘         │   ├── ∙∙∙
                      └───┘

The boxes labeled XYZ Driver and Oracle Driver are DBD modules.

So your code talks to DBI. DBI talks to the appropriate DBD module for your database. The DBD module talks to your database. This results in a single, consistent interface to different databases.

like image 29
friedo Avatar answered Nov 15 '22 12:11

friedo