Buffer pool vs database pages

Hi

How is it possible that the “Database pages” are higher than the actual buffer pool size ?

Mysql Percona Server version 5.5.23-55-log
Buffer pool size 639999
Database pages 845454

Isn’t it so that data pages represent the amount of pages in the buffer pool ?
I also see that the server is using more memory than I have set it up to use in my.cnf

Can this have something to do with using row format compressed ?
I see this raise in db pages if someone does a really huge dataset fetch from a table with many rows.

From the innodb status:

BUFFER POOL AND MEMORY

Total memory allocated 10772480000; in additional pool allocated 0
Internal hash tables (constant factor + variable factor)
Adaptive hash index 302005952 (166014536 + 135991416)
Page hash 10376728 (buffer pool 0 only)
Dictionary cache 85223713 (41505008 + 43718705)
File system 1374512 (82672 + 1291840)
Lock system 25941208 (25940456 + 752)
Recovery system 0 (0 + 0)
Dictionary memory allocated 43718705
Buffer pool size 639999
Buffer pool size, bytes 10485743616
Free buffers 0
Database pages 845454
Old database pages 312071
Modified db pages 165
Pending reads 0
Pending writes: LRU 0, flush list 0, single page 0
Pages made young 877727, not young 0
2.31 youngs/s, 0.00 non-youngs/s
Pages read 1118257, created 63316, written 1376455
0.10 reads/s, 0.03 creates/s, 22.78 writes/s
Buffer pool hit rate 1000 / 1000, young-making rate 3 / 1000 not 0 / 1000
Pages read ahead 0.00/s, evicted without access 0.00/s, Random read ahead 0.00/s
LRU len: 845454, unzip_LRU len: 93501
I/O sum[4]:cur[0], unzip sum[85]:cur[0]

Buffer pool size is the size in megabytes, the other number indicates the nuber of pages (each is standard 16 kB).

No that is not correct, this is buffer pool in pages:
Buffer pool size 639999
Database pages 845454

And this is bytes:
Buffer pool size 639999 x 16k = 10485743616
Buffer pool size, bytes 10485743616