I am a pure internet product so i don't have any it degree or training so i am quit confused about bandwith. is it the memory resource server or processor resource or database server load? If i use sqlite database instead of mysql server for small projects, will it speed up my site performance (since sqlite file will be used only by me)
|
|
While I cannot answer your question about using SQLite over MySQL, I can tell you what bandwidth is. Bandwidth tells you the width of your connection, the rate at which you can push things through. Synonyms are bit rate, channel capacity, and throughput. Bandwidth is measured in bits per second, and 8 bits make one byte. (So 128KB/s = 1024Kbit/s = 1 Mbit/s.) In telecommunications you usually see Kbps, Mbps (bits), but in memory and hard drive transfer rates expect MBps or GB/s (bytes). Here is a thread on MSDN that discusses what exactly bandwidth numbers mean for SQL (if I am not mistaken):
|
|||||||||||
|
|
There are two things that govern "how fast" you can get data between two points. Your bandwidth (well, your maximum bandwidth) and your latency. The bandwidth is, essentially, "if I stream X amount of data from A to B, how many seconds will it take?" (answer, the amount of data, divided by the bandwidth (measured in bits or bytes per second)) and "if I ask for something, how long until I begin to get an answer?" (the latency, usually measured as a one-way latency, but sometimes measured as a round-trip latency). Sometimes, the latency will change the effective bandwidth (if, for example, you need to send ACKs back during the streaming and you do not have a mechanism to allow for adjusting the amount of outstanding data in transfer between A and B). As for the specific question about MySQL and SQLite, I can't give you an answer more enlightening than "it depends" or "try it and see". |
|||
|
|
OK before we get misleading information here: BANDWIDTH is a term thats entered common parlance and is now frequently misused. What is means is AMOUNT OF STUFF in a channel - if came from communications - so if for example you could get 10 Mbits/sec down a communication channel you have a bandwidth of 10 Mbits/sec. Going back even further - it was the frequency occupancy of a communication channel. So for example if that 10 MBits/sec link used a frequency spectrum 10 MHz wide then you have a bandwidth of 10 MHz. Clever coding and modulation schemes these days often mean that you can get a link bandwidth of (say) 1 M Bits/sec with an occupied frequency bandwidth of 100 kHz - a factor of 1:10 better. In fact, getting factors of 50 or 100 better is common. In terms of MySQL vs Sqllite - it depends. Try it and see. There's lots and lots of factors that affect performance, and there is no one simple rule to follow to get an answer. So BANDWIDTH as a term depends a lot on context. In your context, where the term her been adopted (and to an extent corrupted) what this means is "how much stuff can I shove into this database, per second". In other words, what used to be called Transactions Per Second has suddenly morphed into bandwidth. EXPANDING: Bandwidth and Latency are often confused. BANDWIDTH = an amount of stuff (usually NOT per unit of time but frequently it can be, such is the corruption of the term), LATENCY = the delay. Examples abound in communication systems - for example when going around the world using a satellite the latency is about 300 ms. This is simply the transit time (up to satellite and down again....calculate it from the height of the satellite, the path length, and the speed of light). You might have a high bandwidth link where you can shove lots of data in a burst to the other end... but it will ALWAYS be bounded in terms of response time by the latency. An extreme example is an oldie but a goodie: A station wagon full of mag tapes roaring down the freeway is VERY high bandwidth (there lots of data being carried) but the latency is terrible. |
||||
|
|